打印

关于研硕开发板例程#define LedReg (*((volatile Uint16 *)0x41FF))

[复制链接]
3429|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xishuidemian|  楼主 | 2015-1-5 18:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想系统学习一下DSP,就买了研硕的实用型开发板,打开第一个例程就看到这么一句#define LedReg (*((volatile Uint16 *)0x41FF))。查了下资料大致明白,有8个LED与CPLD的GPIO相连,然后通过DSP的总线来讵问CPLD为LED分配的地址(寄存器分配),从而达到控制LED的效果。关于这个例程有些不明白的地方,希望有人给我解答一下。非常谢谢。
1、资料上说可以把CPLD当成一个单纯的逻辑器件,那么地址0x41FF是如何达到控制LED灯的呢?
2、修改CMD文件,然后用#pragma,类似头文件中的#pragma DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile");让一个变量装载在0x41FF地址中能否达到控制效果呢?
新手上路,请大家解惑。谢谢大家。

相关帖子

沙发
zhangmangui| | 2015-1-5 23:27 | 只看该作者
CPLD就是外挂在总线上  用来对总线地址译码   将数据送到地址对应的外设上
这个地址也是在写CPLD代码时 给的偏移地址     
对DSP这边来说    你对这个0x41FF地址    在这个地址上减去基地址
就是CPLD端收到的地址   根据CPLD代码  知道这个地址是控制LED灯的
然后将数据线上的数据送到LED灯上

使用特权

评论回复
板凳
LETCHGO1| | 2015-1-7 18:10 | 只看该作者
zhangmangui 发表于 2015-1-5 23:27
CPLD就是外挂在总线上  用来对总线地址译码   将数据送到地址对应的外设上
这个地址也是在写CPLD代码时 给 ...

我也不懂类似的这句话,我看到一个例程的控制LCD显示的,这样一句话:
#define  LCD_DATA(*((volatile  Uint16 *)0x45FF))
这句话我估计是定义输出的引脚和LCD数据口相接的八个引脚,但我看不懂,求指导啊,谢谢啦,嘿嘿

使用特权

评论回复
地板
zhangmangui| | 2015-1-7 22:22 | 只看该作者
LETCHGO1 发表于 2015-1-7 18:10
我也不懂类似的这句话,我看到一个例程的控制LCD显示的,这样一句话:
#define  LCD_DATA(*((volatile  U ...

这是个映射地址    你慢慢理解吧  

使用特权

评论回复
5
shero_zhuzi| | 2016-4-22 10:24 | 只看该作者
zhangmangui 发表于 2015-1-7 22:22
这是个映射地址    你慢慢理解吧

你好,我对于这个映射也是理解不了,不知道有什么可以参考的资料么,强迫症,一定要弄懂。我查了XITNTF寄存器的值,不应该是可以看到相应的写操作么,现在一头雾水,要是你能指点一二就好了,谢谢。

使用特权

评论回复
6
zhangmangui| | 2016-4-24 20:32 | 只看该作者
shero_zhuzi 发表于 2016-4-22 10:24
你好,我对于这个映射也是理解不了,不知道有什么可以参考的资料么,强迫症,一定要弄懂。我查了XITNTF寄 ...

概念弄清楚了没有啊   比如基地址   对应的zone区
其实操作的地址减去基地址    就应该容易理解了吧

使用特权

评论回复
7
shero_zhuzi| | 2016-5-17 09:21 | 只看该作者
恩       之前确实没有理解到位,之前看明白之后自己总结了下写了一份博客,下面是链接,可以看看,如果写的有什么不对的地方欢迎大家一起交流和进步。谢谢

使用特权

评论回复
8
shero_zhuzi| | 2016-5-17 09:22 | 只看该作者
为什么不能发链接

使用特权

评论回复
9
xianlaiwushi88| | 2016-9-13 20:50 | 只看该作者
这个什么资料里有这个程序的解释啊?能发我一份吗?

使用特权

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

本版积分规则

15

主题

43

帖子

0

粉丝