免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 830 | 回复: 0
打印 上一主题 下一主题

引脚输入输出/MSP430F1611 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:44 |只看该作者 |倒序浏览
 
  在设置1611的任意端口的任意引脚输入输出方向,特别是输出的时候,你也许会发现,在还没有设置输出1或者0的时候,这个引脚已经为1或者为0.
  为什么会这样,其实很简单,上拉、下拉。
  在这里并仅限于发现并解决问题,防止这样的问题存在于你设置端口为输出1之前,并且造成你对端口能正常工作的错觉才是我所关注的。
  很多时候,为了在一个复杂的电路上实现一个小功能,特别是很多人分工完成一个项目的时候,这个问题就会慢慢地引起你的注意。
  比如,甲用PORT2的两个引脚完成了一个输入检测,他可能在端口初始化的时候,本能地把其他的六个端口设置成了输出(本能:考虑到输入的不确定性,如果没有这样的本能,不要追究了)。

  于此同时,乙要用PORT3的一个引脚输出高电平(这里不要考虑这个PORT3能否作为输出,就当它可以输出)。这个引脚在原理图上是和PORT2没有使用的其中一个引脚连接起来,并且连接了上拉电阻。
  甲乙分别完成了自己负责的模块之后,把他们的模块交给丙来整合。丙是怎么做的呢?丙要根据整个硬件要完成的功能要求来安排模块的先后顺序,包括初始化。在初始化的时候,如果他在第一时间注意到了电路上的那个上拉电阻,他在调试的时候应该就不会碰到一些莫名其妙的问题(请允许我用这个词来表达自己碰到这样的问题的感受)。
  丙在调试这个乙负责的功能模块的时候,首先会肯定PORT3输出的高电平没有问题(这是肯定的,示波器会告诉他)。但是接下来他会认定PORT3的这个端口没有问题,就导致了后来他用这个端口输出低电平的时候心情的极度郁闷。
  深深地同情丙的惨痛遭遇,在这个静电横行,引脚连接的CMOS随时因为身体的接触被击穿的地方,碰到这样的问题也是一件大悲之事。
  但是丙是要被批评的,如果丙在早期就对芯片的引脚的输入输出功能做出检测,这类问题可以避免,这或许早就应该成为丙的本能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP