dsp2812 怎么对io口操作

我是dsp小白,请问怎么对dsp2812的xa和xd管脚操作。比如我看到一个键盘程序,其中看起来跟管脚有关的好像是#defineled_7seg(*((unsignedi... 我是dsp小白,请问怎么对dsp2812的xa和xd管脚操作。比如我看到一个键盘程序,其中看起来跟管脚有关的好像是#define led_7seg (*((unsigned int *)0x02400)),莫非那个0x02400就是xd1~xd7的地址?那其他管脚地址呢,还是他自己定义分配的?如果是他定义的怎么看?在那个c文件源里还是h的头文件里?
或者操作语句是像GpioDataRegs.GPATOGGLE.all = 0xffff;这样的?那xa[0]~xa[18]和xd[0]~xd[15]这两组的名字是什么?在datasheet哪部分有讲,找了半天找不到啊。这一块搞不清楚啊,求大神讲解下。顺便求解io口需要设置输入输出模式吗?像msp430那样是要先设的,dsp也这样吗?
还有请问dsp2812的所有管脚除了电源、地之外都能随便用吗?像pwm管脚、adc管脚我之前用过,但他们有普通IO口的功能吗?
展开
 我来答
weallbitch
2013-08-28 · TA获得超过223个赞
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:80.5万
展开全部
0x02400 在2812的地址空间里是外设空间ZONE0的地址,即对led_7seg操作就是对外设的操作,你看看这个程序对应的硬件上2812的/XZCS0AND1这个管脚(2812的第44管脚)连的哪个芯片,而且0x02400在二进制里是0010 0100 0000 0000,也就是操作此地址时Xa[10]和XA[13]是高电平,简单地说就是led_7seg这个变量一改/XZCS0AND1就生效(这是你板子上的一个芯片的片选信号),同时Xa[10]和XA[13]变为高电平,具体还要看电路。
xa[0]~xa[18]是外设地址线(XINTF Address bus),xd[0]~xd[15]是外设数据线(XINTF Data bus)
普通I/O配置很简单,顺序如下:1有复用的管脚要先配置成I/O模式,2配置成输入或输出3如果配成输出的话设置初始状态值
PWM脚和ADC脚有I/O功能。
有不对的地方还请指正。
追问
就是想问一下我要把xa和xd当普通io操作的话要在程序里怎么写,有没有什么变量名代表xa和xd的端口,还是说dsp不能这样用。那个led-7seg是他自己定义的变量,它和具体哪些管脚(本程序应该是xd0~xd7)是怎么联系起来的,不是通过0x02400这样的地址吗,还是在某个地方把led-7seg等于了某个能代表xa或者xd的变量名。接触dsp较少,不知道理解的是不是对的,麻烦了
追答
我查了一下2812的手册,XA和XD两个总线的端口都不是I/O复用口,正常来讲不能通过寄存器配置成普通I/O。要想作为I/O来用有些麻烦。
led-7seg是他定义的一个地址映射,本身不和任何管脚有联系,但是关键是他映射到的是0x02400这个地址,这个地址是2812的外设空间,访问个地址的话2812会去动作/XZCS0AND1这个管脚
同时地址线上会有电平变化,就是我之前说的Xa[10]和XA[13]变为高电平,至于XD的变化要看他对
led-7seg赋了什么值,打个比方led-7seg=1的话XD[0]就会变为高电平。
具体还是要看电路图。
JuggYe
2013-08-27 · 超过25用户采纳过TA的回答
知道答主
回答量:141
采纳率:100%
帮助的人:40.5万
展开全部
datasheet GPIO中应该会讲到吧!实在不会的话你可以看看芯片带的样例程序中的GPIO操作!具体这款芯片我也没用过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式