高级会员

- 积分
- 964
- 金钱
- 964
- 注册时间
- 2014-11-18
- 在线时间
- 160 小时
|
工作有一段时间了,做了不少的项目,当然都是一些小的项目,一些芯片的驱动,一些传感器的应用。
下面我就来说说我用的比较多的STM32资源。
资源一;串口
串口是最基本的资源,它不像led那样,是因为有时候你的pcb板子是不会给你带led的,
这个时候需要的用串口来做实验,串口最大的用法就是模拟指令,你的底层驱动行不行,就需要通过串口来验证。
说到串口必须提一个函数printf,这个函数是vcc里面的一样,非常好用,我经常用他来打印一些提醒信息,帮助我分析问题。
资源二:外部中断
外部中断不是一个大资源,会用会理解就好了,我项目里面常常用来触发一些功能。比如某些传感器发过来一个外部中断,你就可以判断
此时的一些情况。(这个太简单,自己理解)
资源三:定时器
定时器是一个大资源,很多时候都有用到他,比如我用它驱动电机,用作为一些动作的周期,比如打出去停2s,打回来停2s,等等。(需要你们补充)
定时器还有pwm功能,这个真心不错,pwm是常用的一种理论,他能控制驱动电压大小,原理的话自己去补充。至于输入捕获,我基本上是没用到,不知道
各位大神是什么情况。定时器一句话总结就是:用来把控节奏的,让硬件有章可循。忘了定时器的一个思想:他能把while里面cpu的延时,让给定时器来处理,
这样就能节省cpu的开销了,当你while(1)里面的东西太多的时候,你就会明白的。这个思想需要多多去体会,当年我就以为定时不就是用来计时的嘛!!
请注意他和软件延时的本质区别。
资源四:oled(TFT-lcd)
这个资源的话,也就是一个信息的显示,虽然实验中不需要用它来看信息,(串口就可以的)但是项目中肯定会有用到,毕竟最后是要给客户看的。
关于oled的话,我所做的都是数字,汉字什么的,图像的话,我感觉没有操作系统真心难做,做出来也是不漂亮的。(这个一笔带过)
资源五:IIC
这个资源,或者说这个知识点是重中之重。为什么这么说呢?
因为所以的芯片,或者大部分的芯片,你想要和他交流就是用IIC的,IIC的优势很明显占用IO少,操作起来也方便。
我基本上都是移植的STM32的。除非一些芯片是特有的时序图,比如我用的一个SHT30的温湿度芯片,他是IIC,但是不是标准的IIC,当时我没经验
搞得想死的心情都有了,说到IIC的移植,给大伙说一个经验。(标准的iic移植到任意IIC可控芯片,时序不要改,改延时就可以,而且延时可以统一,即所以延时函数里面都用个宏定义就好,不停的改这个宏,一定可以出结果的)
不过这样的bug不知道会不会存在。
资源六:我TMD实在是编不下去了,你们补充啊。
|
|