打印
[ZLG-MCU]

LM3S101能不能采用BITBAND的方法,对IO口读写?

[复制链接]
1835|6
手机看帖
扫描二维码
随时随地手机跟帖
沙发
LPC900| | 2007-10-25 22:09 | 只看该作者

不可以

对GPIO的操作不能采用这种方法,建议直接调用Luminary驱动库。

使用特权

评论回复
板凳
ATmega16|  楼主 | 2007-10-26 09:22 | 只看该作者

可以

#define GETBITFIELD(addr)         (*((volatile bitfield32 *)(addr))) 
#define GETBIT(addr,b)        GETBITFIELD(addr).bit##b 

#define GETREG_GPIODATA(A,B)  HWREG(A + (GPIO_O_DATA + (B<< 2)))
#define GETBIT_GPIODATA(A,B)  GETBIT(&GETREG_GPIODATA(A,1<<B),B)


#define TEST_PIN  GETBIT_GPIODATA(GPIO_PORTB_BASE,4)  //PB4
程序中就可以用TEST_PIN=1和TEST_PIN=0了


使用特权

评论回复
地板
逐风| | 2007-10-26 19:09 | 只看该作者

AT

应该是可以的在外设的bit_band区范围内都可以,书上不是有这样的范例么?
不过很少看到应用就是了呵呵!

使用特权

评论回复
5
ATmega16|  楼主 | 2007-10-27 09:24 | 只看该作者

多谢楼上指点

多谢楼上指点

使用特权

评论回复
6
王紫豪| | 2007-10-28 12:16 | 只看该作者

当然可以

位域属于标准c语言,跟硬件无关,只要不明说不支持,就是支持的。

使用特权

评论回复
7
逐风| | 2007-11-5 23:28 | 只看该作者

我做了测试

我做了测试,可以看到,不过GPIO要左移几位,可能导致你没看到,所以……

使用特权

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

本版积分规则

109

主题

229

帖子

0

粉丝