7869|11

180

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

“简简单单DSP”系列学习活动——第三期 [复制链接]

“简简单单DSP”系列学习活动——第三期之GPIO
2812I/O口都设为功能共享的,所以在使用IO的时候就要根据自己所需设置IO
1GPxMUX寄存器
通用输入输出多路选择寄存器I/O是工作在通用数字IO还是外围IO信号引脚就有GPxMUX决定。
GPxMUX.bit.xx=0xx通用数字IO
GPxMUX.bit.xx=1xx外围IO引脚。

2GPxDIR寄存器  方向选择寄存器
如果配置为通用数字IO脚,那么GPxDIR决定了该引脚是输入还是输出。
GPxDIR.bit.xx=0,xx配置为输入;
GPxDIR.bitxx=1,xx配置为输出。

3GPxQUAL寄存器 设置采样脉冲寄存器
在配置为通用数字IO后,DSP的数字IO引脚有对输入过滤噪声的功能,即对IO输入电平采样,在采样设置的次数后都是一个电平,才会确定有效。假如设置为输入高电平,采样10次,那么这10都为高电平才认为输入高有效,GPxDAT寄存器相应位才会改变。
它是一个16位的寄存器,低八位有效。
GPxQUAL=0   SYSCLKOUT同步,没有限制作用
GPxQUAL=1
2
SYSCLKOUT周期采样,
GPxQUAL=2
4
SYSCLKOUT周期采样,
GPxQUAL=0xff510SYSCLKOUT周期采样,
4GPxSET1寄存器
每个IO口有一个置1寄存器,只能写不能读,也就是只能用在输出上,写1可以使输出为1,写0没有变化。
GPxSET .bit.xx=0,被忽略;
GPxSET .bit.xx=1,且引脚配置为输出,则输出变高

5GPxCLEAR0寄存器
每个IO口有一个清0寄存器,只能写不能读,也就是只能用在输出上,写1可以使输出清0,写0没有变化。
GPxCLEAR .bit.xx=0,被忽略;
GPxCLEAR .bit.xx=1,且引脚配置为输出,则输出清0

6GPxTOGGLE 翻转寄存器
每个IO口有一个翻转寄存器,只能写不能读,也就是只能用在输出上,写1可以使输出翻转,写0没有变化。
GPxTOGGLE .bit.xx=0,被忽略;
GPxTOGGLE.bit.xx=1,且引脚配置为输出,则输出翻转

7GPxDAT寄存器
IO
数据寄存器
每个IO都有一个数据寄存器,当IO配置为输出时,相GPxDAT中写数据就可以决定输出状态;
GPxDAT.bit.xx=0,输出变低;
GPxDAT.xx=1,输出变高

IO配置为输入时,读取GPxDAT中的数据就可以决定输入状态;
注意:当引脚配置为通用数字IO时,相应的外围功能必须屏蔽,否则可能会引发不必要的中断
8IOC代码分析
在库函数DSP281x_Gpio.c中有GPIO的初始化的子函数void InitGpio(void),这个可以在主函数里面调用,也可以自己写,下面以void InitGpio(void)为例:
void InitGpio(void)
{

EALLOW;

/*GPxMUX寄存器设置,此例为设置A口为数字IO*/

GpioMuxRegs.GPAMUX.all=0x0000;

/*GPADIR寄存器设置,此例设置A口的低八位为输入,高八位为输出*/

GpioMuxRegs.GPADIR.all=0xFF00;

/*GPAQUAL输入限制设置*,此处屏蔽输入设置/

GpioMuxRegs.GPAQUAL.all=0x0000;


EDIS;


}


改变IO输出状态时,可以直接写GPxDAT,以上面设置为例:
GpioDataRegs.GPADAT.bit.GPIOA0=0;则输出变低
IO口的状态:
首先设置一个读的变量: unsigned char IO
IO=GpioDataRegs.GPADAT.bit.GPIOA9;

大家可以结合上两期的内容,写一个简单的流水灯程序,观察实验现象哦~



AQUA小组祝您成功

[ 本帖最后由 superwangyang 于 2009-10-11 21:40 编辑 ]

最新回复

很好很不错,理解起来很容易!谢谢楼主!  详情 回复 发表于 2011-3-26 13:34
 
点赞 关注

回复
举报

2498

帖子

0

TA的资源

至上芯片

沙发
 

回复 楼主 superwangyang 的帖子

讲的很好。很强大,理解并不难,但是要全部讲出来就难了。
 
个人签名我的邮箱gaoxiaoan123@163.com!回帖是一种美德!互相帮助,共同进步!
口头禅:生活在于创造机会,把握机会!
 

回复

34

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
谢谢楼主!
 
 
 

回复

114

帖子

0

TA的资源

一粒金砂(中级)

4
 

很好

很强大,顶
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

5
 
初学者提问:
    那些寄存器中的X是表示A/B吗?
 
 
 

回复

180

帖子

0

TA的资源

五彩晶圆(中级)

6
 

回复 5楼 fangly8848 的帖子

对 就是A、B、C、D ……代表的端口
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 

谢谢

谢谢了 ,要是有pdf版本的就更好了
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

8
 
如果能把每个寄存器串起来讲就好了,讲讲他们之间的关系,最好能画一个图解讲信号在这些寄存器中的流转及处理。我是初学者可能这么说不专业。
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

9
 
 
 
 

回复

2641

帖子

0

TA的资源

五彩晶圆(中级)

10
 
谢谢分享
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(初级)

11
 
很基础,学习学习
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

12
 
很好很不错,理解起来很容易!谢谢楼主!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表