打印
[活动]

我的硬件狂想作品-简易水平仪 Part2一路走来的坑

[复制链接]
617|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 w494143467 于 2020-11-1 13:59 编辑

1.介绍
这次设计一个简易水平仪,之前驱动过ADXL362,所以一开始觉得应该是非常容易,采用的也是之前驱动的主控芯片,然而各种坑就来了,让我细细道来!
2.踩坑之路
上面也说到,之前驱动过,不以为然,用着之前驱动的代码,先将OLED屏幕显示起来,这个地方其实就出现坑了,使用的是NRF52832的开发板,用硬件IIC驱动OLED屏幕,发现居然有时候会出现死机的现象,当时以为是刷新太快了,就调低了速度,出现频率降低了,但是还是会出现,这个是肯定不行的,之后就被迫改成了软件IIC驱动。太难了~~~,下图1是进入时显示的内容。

图1

ok,显示部分没啥大问题了,那么就开始驱动ADXL362吧,用着之前的驱动程序,发现获取不到ID。进入调试,找不到问题,因为是硬件SPI,这次又改成软件SPI,依旧驱动不起来,这时候有点怀疑人生了,想了一想,买了一个逻辑分析仪,等了3天逻辑分析仪到了,查看逻辑发现有一个引脚起不来。。。一看原理图,,,,好吧,被别的外设占着,改引脚,发现可以通信了,心里美滋滋,截图了逻辑分析仪的图片(图2),准备发帖来着,后来发现数据又问题,而且读的ID也不对,查看手册ID是0xF2,而我的是0xF0(图3),这时心里想。。。好吧,又开始各种查,无果。感觉又是引脚的锅(这个芯片的引脚任意映射),换了引脚出现一个神奇的现象,读出来的ID变了,变成了0xE0,什么鬼啊,感觉是芯片问题,在公司换了ADXL362芯片,回家后一读还是0xE0。最后感觉是开发板的问题,换了STM32的开发板(这里没有吹捧的意思,因为手头上熟悉的就只有这个板子了),之后一切就顺畅起来了,真的!!!这个坑我记住了

图2


图3

3.结论
那么这里的锅应该让NRF52832来背了。使用STM32做主控的话就和第一篇讲的设计不太一样了,不过没有关系,我最终功能还是一样的,只是使用了两个开发板,下一篇给大家展示一下,这么多坑踩出来的作品,虽然不高大上,但是满是泪水和黑眼圈。
后续通道:
我的硬件狂想作品-简易水平仪 Part1开箱与设计:https://bbs.21ic.com/icview-3039430-1-1.html
我的硬件狂想作品-简易水平仪 Part3成果与经验:https://bbs.21ic.com/icview-3042366-1-1.html


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

300

帖子

3

粉丝