经验之谈单片机项目开发流程

2019-03-07 09:27:50分类:硬件开发8850

  现在来分享一下我和队友做小项目走的流程。(这些经验仅供参考,愿你们弃其糟粕,取其精华)

  以下是我从若干个项目中总结下来的理论,记住实践是检验真理的唯一标准!大家加油吧,在你们的项目中,你们可以尝试使用下面的方法。
 

单片机项目开发
 

  1、确定项目功能

  和队友讨论你们要做的项目具有哪些功能,各功能可行性是怎么样的,需要使用哪些元器件来完成这些功能,有没有相关的产品或者作品参考,分析,讨论写下详细的作品说明书。

  事先一定要确定好作品说明书,后期制作基本都是参考说明书(后期可以继续完善说明书)

  一般这步结束后,会有如下几个文档

  a.作品详情思维导图

  b.作品功能说明书(实现那些功能,项目要求是啥)

  c.作品方案设计文档(用哪些东西,有哪些替代方案)

  2、收集相关资料

  包括芯片数据手册

  模块使用手册

  参考例程

  相关作品资料

  3、搭出硬件测试环境

  用最小系统板+模块+自己焊的小电路搭建出硬件测试环境
 

单片机项目开发
 

  4、用viso画出程序流程图

  微软的viso画图软件很好用,需要学会画程序流程图。(团队间可以一起讨论)程序流程图搞定,整个程序的逻辑写起来就简单了。程序流程图怎么画?这里无法表达清楚,仅做提示:

  完成系统初始化,设置标志位,根据标志位执行动作

  5、将各模块各功能分而治之

  (分文件写驱动代码)

  这个很重要,方便以后程序的移植!所以最好不要在同一个文件中写不同模块的功能代码!不要!不要!不要!

  6、分功能测试驱动代码(分功能写出测试程序)

  之前大二上学期的时候做过若干的小项目,都没考虑过这步,而是直接上手集成所有代码于一个项目下,然而集成完成后发现功能无法正常实现。然后就查bug,查bug,查bug,查bug。由于代码太多,bug很难查的。所以很蛋疼,而且费了很多时间,还不一定能查出来。

  也就是说我认为比较正确的方法是:把一个大工程分解成各个小工程,每个小工程呢,只实现其中的一项小功能,实现完成后,再将测试通过的驱动代码,放到大工程下。

  总结起来就是:分模块,分功能写驱动测试工程。说起来全是泪,都是自己摸索出来的。
 

单片机项目开发
 

  7、整合测试通过的驱动文件

  驱动文件全部测试通过后,就可以集成到一个项目下了,同时主文件中的函数也可以根据程序流程图进行编写逻辑了

  如果需要画pcb电路板的话还需要做如下流程

  8、根据确定好的io口,画电路原理图

  (期间可能会用到模电相关知识)

  9、pcb布局布线,开板,焊板

  布局布线也要分模块画。

  10、分模块调试pcb硬件

  硬件调试期间会教你熟练使用万用表和示波器等(PS说多了也是泪)。期间芯片有可能焊接出问题,引脚电平输出有问题。这些的测试我们常采用 写出让芯片引脚高低电平变换的代码,然后用万用表进行测量。

上一篇:下一篇: