打印

DSP的GPIO调试心得

[复制链接]
1124|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jxmzzr|  楼主 | 2013-12-13 22:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、GPxMUX寄存器

通用输入输出多路选择寄存器I/O是工作在通用数字IO还是外围IO信号引脚就有GPxMUX决定。

GPxMUX.bit.xx=0,xx通用数字IO;

GPxMUX.bit.xx=1,xx外围IO引脚。

2、GPxDIR寄存器 方向选择寄存器

如果配置为通用数字IO脚,那么GPxDIR决定了该引脚是输入还是输出。

GPxDIR.bit.xx=0,xx配置为输入;

GPxDIR.bitxx=1,xx配置为输出。

3、GPxQUAL寄存器 设置采样脉冲寄存器

在配置为通用数字IO后,DSP的数字IO引脚有对输入过滤噪声的功能,即对IO输入电平采样,在采样设置的次数后都是一个电平,才会确定有效。假如设置为输入高电平,采样10次,那么这10都为高电平才认为输入高有效,GPxDAT寄存器相应位才会改变。

它是一个16位的寄存器,低八位有效。

GPxQUAL=0; 与SYSCLKOUT同步,没有限制作用

GPxQUAL=1;

2个SYSCLKOUT周期采样,

GPxQUAL=2;

4个SYSCLKOUT周期采样,

GPxQUAL=0xff;510个SYSCLKOUT周期采样,

4、GPxSET置1寄存器

每个IO口有一个置1寄存器,只能写不能读,也就是只能用在输出上,写1可以使输出为1,写0没有变化。

GPxSET .bit.xx=0,被忽略;

GPxSET .bit.xx=1,且引脚配置为输出,则输出变高

5、GPxCLEAR清0寄存器

每个IO口有一个清0寄存器,只能写不能读,也就是只能用在输出上,写1可以使输出清0,写0没有变化。

GPxCLEAR .bit.xx=0,被忽略;

GPxCLEAR .bit.xx=1,且引脚配置为输出,则输出清0

6、GPxTOGGLE 翻转寄存器

每个IO口有一个翻转寄存器,只能写不能读,也就是只能用在输出上,写1可以使输出翻转,写0没有变化。

GPxTOGGLE .bit.xx=0,被忽略;

GPxTOGGLE.bit.xx=1,且引脚配置为输出,则输出翻转

7、GPxDAT寄存器

IO数据寄存器

每个IO都有一个数据寄存器,当IO配置为输出时,相GPxDAT中写数据就可以决定输出状态;

GPxDAT.bit.xx=0,输出变低;

GPxDAT.xx=1,输出变高

当IO配置为输入时,读取GPxDAT中的数据就可以决定输入状态;

注意:当引脚配置为通用数字IO时,相应的外围功能必须屏蔽,否则可能会引发不必要的中断

相关帖子

沙发
hudi008| | 2013-12-14 00:19 | 只看该作者
讲的很具体的。

使用特权

评论回复
板凳
hudi008| | 2013-12-14 00:19 | 只看该作者
如果能讲一讲时钟配置是更好的了。

使用特权

评论回复
地板
westra| | 2013-12-14 09:49 | 只看该作者
一般 后面的名字是怎么确定的 比如 XF_GPIOF14 是如何根据datasheet或者印脚确定的?

使用特权

评论回复
5
zhangmangui| | 2013-12-14 18:47 | 只看该作者
不错的分享  非常感谢

使用特权

评论回复
6
tianli1980| | 2013-12-14 20:20 | 只看该作者
GPIO这个口可真不是主流了,如果换作USB就更好了。

使用特权

评论回复
7
i1mcu| | 2013-12-14 23:27 | 只看该作者
很基础的东西,要看看的。

使用特权

评论回复
8
i1mcu| | 2013-12-14 23:29 | 只看该作者
细节问题很重要。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

460

主题

2188

帖子

12

粉丝