IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 单片机软件开发心得体会 -> 正文阅读

[嵌入式]单片机软件开发心得体会

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

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

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

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-29 10:27:52  更:2021-09-29 10:29:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:25:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码