点灯是个“大”项目!

点灯
汉云
发布时间: 2018-08-13
阅读: 2491

一说点灯,大家都不以为然,认为是一个最简单的GPIO外设控制例程,然而,在这一个小小的LED闪烁的背后,有着很多不为人知的秘密。


一、验证PCB制作正确性

这里出问题的可能性是比较小的,但是也会有个万一。

在PCB制作过程中,也会有很多问题,比如短路、断线等等。

本人就在某网上打样时,内层给我断了线,找了几天的问题才发现,是板子的问题。

虽然,点个灯,也只能是验证这部分的PCB,没有办法验证所有的PCB问题,但至少可以确定PCB的大体的质量。


无标题.png


二、验证电源正确性

电源这里是最主要的了,一般的单片机,你用个1117就可以了,这电路也简单,没有必要验证么?不然,你焊接就不会有问题么,就不会短路么?这些问题都是影响点灯的。有一个问题存在,你的灯就不会亮,或是不会闪。

对于复杂的电路或是芯片,上电的时序是有要求的,电源也不仅仅只有一路3.3V,而是5V、3.3V、1.8V、1.2V、1.0V的多路电源,这其中有一路出问题,你的灯也是点不起来的。还有可能把电路、芯片烧掉。


如下,就是一个要使用三路电源的芯片电源电路,使用了三路DCDC转换出三路电源。



无标题.png


以及一个芯片的上电时序图,可以看到,芯片的上电的时序还是很重要的,如果不是这个上电时序,那么芯片是无法正常工作的。当然,灯也是点不亮的。

无标题.png



三、验证主控芯片是否工作正常

主控芯片的工作,电源是前提,前面已经提到了。

还有就是芯片外设的电路,复位电路,是RC,是看门狗,是其他芯片控制,都要进行一一的验证,否则,芯片一直复位,怎么点灯?

芯片启动方式配置电路,是不是正确,上拉、下拉配置是不是正确。


无标题.png



四、配置开发环境

开发环境不仅仅是Keil、IAR这些,在Linxu的下的开发环境,要安装对应的gcc工具,配置依赖关系,配置并编译支持的函数库等等,当然是不同的芯片有不同的开发环境配置步骤与要求的。


无标题.png



五、搭建基本程序工程

这一节,不要跟我说什么STM32CubeMx,难道你这辈子只使用STM32么?

如果是STM32、51之类的,最多是启动文件,库文件两个方面,库文件中又有很多类,一一添加到工程中,配置好头文件路径,如果是DSP类的,还有要Memory的配置文件。这里只是工程建好了,能不能编译,有没有错,还要看下一步。如果是Linux下的,makefile,config之类的也不可少了。


无标题.png



六、代码开发工具配置与编译


如果是使用IDE,那么,不用说,点点鼠标就编译好了,但有时,也要进行一下配置吧。

比如仿真器配置,烧写算法,头文件路径等等。


无标题.png



在Linux下,就要使用gcc与makefile了,简单的,只有几个源文件的,可以手动使用gcc,要是比较庞大的工作,使用makefile是必然的了。



无标题.png



当以上的所有工作都是正常的情况下,恭喜你,你的LED可能会亮起来的了。为什么是可能而不是肯定呢,在电子开发过程中,总是会有一些很奇葩的bug,就是怕会遇到,所以,还是小心为妙。


所以,要点一个LED,所要做的工作是很多的,并不是几行代码就可以搞定的。如果你只是在一块现成的开发板上进行LED点灯,那么就不用管理那么多了。如果你点LED灯是在一个开发板上的一个例程中,那么还真就是几行代码了事儿了。


当然,当你的灯点不亮的时候,也不要着急,按上面的几条,一一进行验证与确认,程序上的配置对一下数据手册,就不信会点不亮。要是真不亮,那么变来云汉来提问吧。


原创作品,未经权利人授权禁止转载。详情见转载须知 举报文章

点赞 (1)
汉云 擅长:无
评论(0)

登录后可评论,请 登录注册

相关文章推荐
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回

我要举报该内容理由

×
请输入您举报的理由(50字以内)