打印
[DSP编程]

5509aIO口的问题

[复制链接]
1432|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangch_sh|  楼主 | 2013-12-21 08:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zhangmangui| | 2013-12-21 23:13 | 只看该作者
用CSL库这样写的   这个函数也就是对寄存器的直接操作
如果要跟28一样那样对寄存器按位域操作  你就需要按照datasheet上寄存器对应的地址
定义寄存器   结构体  位域  
然后就可以啦  看到有些基于5509的代码就是这么写的

使用特权

评论回复
板凳
wangch_sh|  楼主 | 2013-12-22 11:54 | 只看该作者
谢谢!

使用特权

评论回复
地板
zhangmangui| | 2013-12-22 21:34 | 只看该作者
我找到直接操作寄存器的代码   给你分享

使用特权

评论回复
5
wangch_sh|  楼主 | 2013-12-22 21:53 | 只看该作者
多谢!

使用特权

评论回复
6
zhangmangui| | 2013-12-23 10:00 | 只看该作者
wangch_sh 发表于 2013-12-22 21:53
多谢!

你看看这个  是直接对寄存器地址定义  操作的

ICETEK-vc5509-最新.rar (8.14 MB)

使用特权

评论回复
7
wangch_sh|  楼主 | 2013-12-23 10:27 | 只看该作者
再次感谢!

使用特权

评论回复
8
ttxs_2013| | 2013-12-26 16:54 | 只看该作者
也遇到的类似的问题,想只观察定义的那一位I/O口的电平怎么读出来,尝试着用GPIO_FGET(IODATA, _GPIO_IODATA_IO7D)语句,但是老是报错,说是_GPIO_IODATA_IO7D未定义,在csl_gpiohal.h文件中对数据寄存器的0-7位都进行了宏定义,看不明白是什么意思
#define _GPIO_IODATA_IO7D_SHIFT                (0x0007u)
#define _GPIO_IODATA_IO7D_MK(n)                (((Uint16)(n) & 0x0001u) << _GPIO_IODATA_IO7D_SHIFT)
#define _GPIO_IODATA_IO7D_MASK               (_GPIO_IODATA_IO7D_MK(0x0001u))
#define _GPIO_IODATA_IO7D_CLR                (~(_GPIO_IODATA_IO7D_MK(0x0001u)))

使用特权

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

本版积分规则

个人签名:为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

318

主题

2817

帖子

5

粉丝