dsp2812每个引脚都分配有地址吗?
unsignedint*LedADDR=(unsignedint*)0x2800;//8个发光二极管寄存器地址LedCode[9]={0x7F,0xBF,0xDF,0xE...
unsigned int *LedADDR = (unsigned int *) 0x2800; //8个发光二极管寄存器地址
LedCode[9]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};
*LedADDR = LedCode[Count]; //依次点亮灯,置相应位低电平
------------------------------------------------------------------------------------------------
上面的程序是流水灯,所控制的引脚是XD0~XD7.数据总线,上面第一行的0x2800是数据总线的地址吗?所有的引脚都有地址吗?怎么查?比如我接的是GPIOA0~GPIOA7我上面的2800改成多少? 展开
LedCode[9]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};
*LedADDR = LedCode[Count]; //依次点亮灯,置相应位低电平
------------------------------------------------------------------------------------------------
上面的程序是流水灯,所控制的引脚是XD0~XD7.数据总线,上面第一行的0x2800是数据总线的地址吗?所有的引脚都有地址吗?怎么查?比如我接的是GPIOA0~GPIOA7我上面的2800改成多少? 展开
3个回答
展开全部
首先,第一行的地址是地址总线地址,你的指针LedADDR作用就是通过地址总线确定数据传输的位置;最后一句的赋值语句是传送数据至数据总线;2812有16位数据总线,总线与引脚不是一个概念,总线具体位置可以参考DSP硬件引脚图;
如果你使用I/O口配置高低电平的话,就不能使用上述赋值语句了,可以参考I/O口数据传输相关内容
如果你使用I/O口配置高低电平的话,就不能使用上述赋值语句了,可以参考I/O口数据传输相关内容
追问
刚才在QQ群里一个哥们说@#¥当访问的是外部地址的时候,硬件会自动通过外部总线访问片外地址。这里访问的就是CPLD的寄存器,从而控制LED.“”
这个数组里的数是通过XD0~XD7传的对吧,自动找到2800传过去?
展开全部
不是的,狭义来说,地址是用来区别访问I/O或存储单元的,当然,广义的讲,只要能被内核控制或访问,都是带地址的;至少,电源引脚和接地引脚没有地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个引脚是接到自己的地上还是接到DSP的哪个引脚上呢? 该怎么接 不清楚 求解 谢谢 这要看你分配到哪个扩展区?如果是单独用一整个区的话(例如
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询