[ZLG-ARM] 请教zlgARM:PINSEL0=(PINSEL0&0xcffff3ff); 管教选择模块初始化

[复制链接]
4468|5
 楼主| liutongen 发表于 2007-6-5 17:49 | 显示全部楼层 |阅读模式
您好:我在做基于uc/os-II的蜂鸣器控制实验时遇到一个不解的地方,请您多多帮助!<br />......<br /><br />#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KEY1&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;14)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;P0.14为key1&nbsp;*/<br />#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEE&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;7)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;P0.07为蜂鸣器&nbsp;*/<br />......<br /><br />PINSEL0&nbsp;=&nbsp;(PINSEL0&nbsp;&&nbsp;0xcffff3ff);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;管教选择模块初始化&nbsp;*/<br /><br />疑问:为什么用0xcffff3ff,而不是0xcfff3fff?<br /><br />分析:0xcffff3ff的c代表1100,就是说将P0.14设置为IO,这是可以理解的,但其中的3代表0011,就是将P0.5设置为IO,但P0.5在该程序并不起作用,起作用的是P0.7,那么我认为应该是将0xcffff3ff改为0xcfff3fff,这样就实现了P0.14、P0.7为IO,不知那里分析错了?<br /><br />还有:我将0xcffff3ff改为0xcfff3fff后运行竟也能成功,不知为何,难道该语句没起作用?<br /><br />请多帮助,谢谢<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />
 楼主| liutongen 发表于 2007-6-5 17:53 | 显示全部楼层

真的没起作用!

我将PINSEL0&nbsp;=&nbsp;(PINSEL0&nbsp;&&nbsp;0xcffff3ff);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;管教选择模块初始化&nbsp;*/去掉后,发现程序照常运行,就是说这条语句没起作用,可能是管教复位后都为IO的原因吧,如果是这样的话,这条语句是不是就没必要写在程序段里了。
liujigan 发表于 2007-6-5 19:04 | 显示全部楼层

to

作为GPIO时可以对它们不处理,默认IO形式,只把相应的IODIR处理好就可以了
 楼主| liutongen 发表于 2007-6-5 19:10 | 显示全部楼层

re:liujigan

谢谢了,
yulri 发表于 2010-9-23 20:02 | 显示全部楼层
好东西!!
yulri 发表于 2010-9-24 08:06 | 显示全部楼层
受教了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部