2832|2

6040

帖子

205

TA的资源

版主

楼主
 

关于MSP430FR5739的PxSELC寄存器BUG说明 [复制链接]

大约在一年前,我发表了一个帖子,里面提到了关于PxSELC寄存器的问题:
https://bbs.eeworld.com.cn/thread-313298-1-1.html
目前官方所提供的user's guide中确实还未纠正此错误,对于PxSELC寄存器未起到任何作用的原因就是手册中所描述的寄存器偏移地址不正确,导致开发工具中头文件对此寄存器的地址也不符,PxSELC的正确偏移地址应该为0x16和0x17。可能此片子还未大量应用,所以此问题未被广泛发现。

同时我也对上述帖子中的错误理解予以纠正,并对此寄存器的用法加以简单说明。
PxSELC寄存器的主要用途是同时取反PxSEL0和PxSEL1,而不是我上面帖子中所说的置位。
在选择IO引脚功能时,如果需要同时更改PxSEL0和PxSEL1,则可以通过设置PxSELC实现一步到位的效果,如果只需更改PxSEL0或者PxSEL1中的一个,那就没有必要使用PxSELC寄存器了。
如:
假设当前P1SEL0=0x00,P1SEL1=0x00;现在要配置成P1SEL0=0x01,P1SEL1=0x01;则通过一个语句P1SELC=0x01;即可实现。
假设当前P1SEL0=0x01,P1SEL1=0x00;现在要配置成P1SEL0=0x00,P1SEL1=0x01;则P1SELC=0x01;即可实现。
假设当前P1SEL0=0x00,P1SEL1=0x00;现在要配置成P1SEL0=0x00,P1SEL1=0x01;则老老实实的改变P1SEL1|=0x01;

再举一个例子,如果当前P2SEL0=0x85,P2SEL1=0x33;则执行P2SELC=0xFF语句后变为:
P2SEL0=0x7A,P2SEL1=0xCC;

PxSELC类似于一个只写寄存器,读出的内容为0,相当于写后自动清0.

此贴为本人愚见,欢迎各位网友一起讨论交流。

最新回复

讲解透彻,分析精辟, 感谢楼主  详情 回复 发表于 2012-11-16 08:51
 
点赞 关注

回复
举报

173

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
 
 

回复

6366

帖子

4929

TA的资源

版主

板凳
 
讲解透彻,分析精辟,
感谢楼主
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表