GPIO控制中同时将某口线拉高或拉低小技巧.

利用IOSET和IOCLR寄存器可更改GPIO引脚的位。
但是IOSET和IOCLR对应写入“1”的位才能设置成高/低电平。例如:将P0口的[7:0]由状态0xA5改变为0x5A,
通过设置IO0SET和IO0CLR两步走会产生一段中间过程(有的系统允许存在这段时间的延时)。
对于只读寄存器IOPIN进行写操作可以解决上面产生中间状态的问题。仅需执行语句:
      "  IO0PIN = (IO0PIN & 0xFFFFFF00) | 0x0000005A "即可。
说明:
  IOPIN的内容和一个值相“与”(该值使要改变的引脚对应使用0来屏蔽,其他引脚对应1),再将相“与”的结果和期望得到的引脚输出对应的二进制数相“或”,并将相或的结果存入IOPIN寄存器中。
(注意:PHILIPS公司不推荐使用此做法。)

posted on 2007-06-20 22:44 Jolly Roger 阅读(937) 评论(0)  编辑 收藏 引用 所属分类: 关于ARM


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

公告

南京理工大学紫金学院 光电信息工程 邮箱:fish_yuzj@sina.com QQ:366215108

常用链接

留言簿(1)

随笔分类

随笔档案

相册

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜