痛苦的挣扎--msp430g2553我恨你!

已经3天了,3天每天晚上都调程序调到很晚,写这篇博客就是用来见证自己有没有焕然大悟的一天。

事实证明不要过于自信,不要太看得起自己,自认为懂一点单片机的知识,自认为自己有些项目经验。面对一个简单的SPI,自认为自己能轻松解决。但是我错了,原本信心满满的开始自己的一个小小的实验,但是中间出现了许多问题,无论怎样的调试就是出不来结果。

事情是这样开始的,因为一个项目,需要3轴加速度传感器,翻了下工具包,找到一个MMA7455的三轴加速度传感器模块,于是就准备用MSP430G2553去驱动它。因为这款单片机很小巧,不需要外部晶振,使用起来很方便,作为可穿戴式设备的主控芯片再合适不过了。查了下这个芯片的资料,发现可以用I2C跟SPI两种总线去控制它,于是就准备用SPI去驱动(也不知道为什么对SPI这么情有独钟,万恶之源啊)。以前做过项目用的是MSP430F149的模拟SPI总线驱动一款传感器,当时记得直接就成功了。这次主控芯片换成了G2553,应该也是差不多吧。于是晚上开始从430F149的软件模拟SPI的程序开始修改。

第一版很快就完成了,编译,没有问题。烧录没有问题,以为成功了,但是立马就给自己浇了盆冷水。因为没有数据,为什么没有数据,开始了一步一步的调整程序。试了各种方法,一直都是没有数据。无论我想寄存器写什么,输出的永远是0xFF。这个0XFF真的是气死我了,我在网上找了各种方法,但是大多数都是用I2C去驱动的,要么就是用别的单片机,反正没有一样的问题。下定决心,自己要把这个解决,开始查找原因。是芯片的问题吗?试了其他的官方程序,没有问题。是SPI时序的问题吗?换了时序,无论是提高还是降低,输出的永远是0XFF。是数据格式的问题?怀疑到这个问题是一天前了,因为自己的自信,就没有仔细的看数据手册,这个真的是很不好的想法。怀疑到这个问题之后就去看了数据手册,结果真的发现了自己没有注意到的地方,发现写入数据的时候,要对写入的数据作调整,比如要写入0X16,首先数据的第一位将决定是写还是读操作,所以要修改第一位,其次数据手册上说明了,后面的6为是要写入的数据也就是0X16,最后一位是没有用的。按照逐句手册上的格式改了之后,以为可以了,结果,依然不能成功。这是我已经崩溃了,不知道该如何形容自己的心情。这件事让我郁闷了好长时间。


昨天决定让自己放放,缓一下。今天心情好多了,接下来还是会去调,这个程序,不知最后能不能成功,也许1个月,也许2个月。。。

  • 1
    点赞
  • 2
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值