搞过嵌入式开发的程序员一定知道有I2C总线,手机和电视中的主要串行技术,通过两条线SDA,SCL解决总线传输,地址区分和热插拔问题的技术。
可是就是这么一个简单的东西,让我这个自认为有些经验的单片机开发者浪费了整整五个月!这还是我有比较充分的经验,在一年半前就已经非常了解I2C协议的情况下!这段时间我花了无数的时间在调试,思考,解决问题而没有一丝进展。反复的检查问题,想要的结果死活不出来!昨晚的反思让我今天早上我一大早起来第一件事就是调代码,结果正确出来的时候,眼泪都快出来了。这篇文章,总结下这五个月来的问题,这五个月给我好好的上了一课。
五个月前,初步规划方案阶段:
我做的体感项目发展到了第四代,为了尽可能的减少尺寸和功耗,将原来的64脚IPM封装的MSP430F149换成了更小,功耗更低的 MSP430F2132。选择该型号有显然的好处:32QFN封装,硬件I2C,自带上拉电阻,16MHz的功耗更低。我们使用了原来所用的ADXL345加速计,MPU3050陀螺仪和HMC5883L的磁场计解决方案。在前一版的MSP430F149上是采用模拟I2C总线,而上述传感器挂在这条总线上跑起来都毫无问题,只要焊接无问题,就一定能保证正确结果。而事实证明,这种自信确实是最后的罪魁祸首。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !