您的位置:首页 > 其它

TS201学习之FLAG

2012-06-12 22:23 106 查看
本篇介绍TS201的IO——FLAG的使用。在板子上,两块DSP分别将FLAG0连接了一个LED,在TS201上面没有像串口这样的调试端口,因此在以后的测试过程中,这个LED就充当了完成指示器了,呵呵~~

FLAG端口就是TS201的通用IO,每个DSP上有4个这样的FLAG,从FLAG0~FLAG3,使用方法都是一样的。

参考TS201硬件手册,对于FLAG的控制有如下描述:



这样编程就很明了了,通过改变寄存器的相应位,完成FLAG的控制,下面给出具体代码:

/***********************************************************

函 数 名:Init_LEDs()

功 能:初始化FLAG0作为LED的输出端口

说 明: 入口参数:

返 回 值:无

设 计: 日 期:2012-04-04 修 改: 日 期:

************************************************************/

void Init_LEDs(void)

{

__builtin_sysreg_write(__FLAGREGST, FLAGREG_FLAG0_EN); // enable FLAG0 as outputs

}


/***********************************************************

函 数 名:ClearSet_LED()

功 能:对LED管脚进行置1、清零、取反操作
说 明: 入口参数:bState =0 : 置位 =1 : 清零 其他 : 取反

返 回 值:无

设 计: 日 期:2012-04-05 修 改: 日 期:

************************************************************/

void ClearSet_LED(const int bState)

{

volatile int temp;

if( 0 == bState ) //清零

__builtin_sysreg_write(__FLAGREGCL, ~FLAGREG_FLAG0_OUT);

else if( 1 == bState ) //置位

__builtin_sysreg_write(__FLAGREGST, FLAGREG_FLAG0_OUT);

else //取反

{

temp = __builtin_sysreg_read(__FLAGREG);

temp = temp ^ FLAGREG_FLAG0_OUT;

__builtin_sysreg_write(__FLAGREG, temp);

}

}


首先初始化LED的端口,然后通过适当的延时,完成LED的闪烁。

EnjoyYourself!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: