单片机软件开发心得体会

从事单片机开发多年,本人在此分享一些单片机开发的心得体会,与大家共勉。虽然单片机软件开发也是软件开发但与物联网软件工程师不一样,接触的基本都是XXXPCB板,所以你不止需要熟悉C语言,还需要一定的硬件知识。不需要你能画图,但能够看懂原理图是最基本的。
单片机软件开发大致可分为以下几个步骤:
1,单片机软件开发,一般需要等到硬件工程师将硬件调好之后才会将板子交给你,所以在此之前,可以像硬件工程师拿到XXX板子原理图,了解板子上单片机用到了什么外设,需要些什么基本功能。然后搭建工程,初步移植一些外设驱动iic_driver.c与具体的传感器驱动程序at24c02_driver.c。然后确认板子的下载口。在拿到板子之后就可以连接好下载器,看看单板是否能够成功下载,当然如果在焊接不失误,硬件工程师不大意的情况下会提示 SECCESS。但是不出意外的话会出意外 NO device found ,保证供电正常的情况下,这下你就可以检查
(1),单片机引脚是否焊接短路,最小系统阻容是否正确。
(2),再三确认下载线缆 CLK与DIO 接反了。
(3),要是还是不能解决问题,玄学来一波,换个单片机芯片试试吧。
(4)什么,还有问题,想想,是不是硬件封装画错了,单片机型号对不上br> (5)还有问题己想想吧,我也无能为力了,实在不行提桶跑路吧。
2,程序能够成功下载之后便可以考虑软甲功能与架构的问题了,单片机程序是从上往下一条一条往下执行的,同一时间只能执行一条命令。如果跑操作系统的话软件架构就好解决了,一个任务一个creat_thread。如果不跑操作系统,那就可以考虑一下有限状态机了。
有限状态机
上文讲到单片机同一时间单片机只能执行一条程序,有限状态机类似原理,在一个状态中同一时间只能触发一个事件。(此处忽略,道行太浅)附上大成者连接:www.youjicom 搞错了 正确连接:

https://blog.csdn.net/Set_Mode/article/details/95059998

程序的整体框架想好之后,那么就可以接下来将你写好的模块驱动程序挨着烧写到单片机中,测试一下功能是否正常,比如时钟芯片是否能够正确读到时钟,ADC芯片是否能够采集到AD值,传感器芯片是否能让你感觉到温暖。当然不出意外的话肯定还是会出意外的。遇到的问题大致与上面检查单片机的问题差不多:
(1)首先确保传感器芯片供电是否正确。
(2)然后检查单片机对应引脚的连接电路与引脚配置是否正确。
(3)用示波器看看协议的驱动时序对不对比如IIC时序可以检查信号发送后 从机是否有应答ACK。
(4)根据芯片官方提供的芯片手册查看器件 命令,地址是否正确。
(5)去找把烙铁找个位置坐下,对着芯片外围电路以及芯片的引脚上缝缝补补,没准就行了呢br> (6)朋友,你是否有很多问好到这一步要是还没有找到问题的话心态基本快崩不住了,是不是该换行了不是还是提桶跑路要灰心,我来告诉你,接下来,低下头拿起板子举过头顶 啪 一声就给摔在地上 我调你XXX的。XXXXXXXX。 冷静冷静,摔板子是不可能的, 正确的做法是 举起板子,看一看公司是否有类似型号,相同封装的芯片,看看同事是否喊错芯片了。别觉得不可能,本人前段时间才踩了坑,一个SPI的器件,第一通道数据能读取,第二通道死活都是0,软件改过去又改回来,硬件翻过去又翻过来,断断续续调了差不多两个多月实在是找不出问题了,最后查看一下公司库存,还有一个系列的芯片一个-2一个-3,抱着试试的心态,-2换成-3 板子上电, woc tmd 就这问题解决。(造成这种问题的原因 可能是硬件同事也不知道这两个芯片的具体区别)。
以上经验是我本人开发过程中的经验之谈,后续如果还有其他什么疑难杂症再补充,这些问题望众周知。少折腾,头发能留一根是一根吧!
尽管单片机软件开发会遇到各种疑难杂症,让你一时不知从何下手,但是要有自信问题总会解决的,当一步一步找到问题之后也会收获满满的成就感,在困难的问题也不过如此。 相信自己 oooooo哦!!~
写给自己,也写给你们,共勉。

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113504 人正在系统学习中

来源:DayDayUP丶。

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月24日
下一篇 2021年8月24日

相关推荐