笔者对电子设计有着浓厚的兴趣与热情,虽然没有那些有三年以上STM32开发经验的大牛们经验丰富,但也在艰难的一步一步的前进着。编程是一个痛苦并快乐的过程,痛苦的是,当遇到问题而茫然无绪时,当试了多种方法后期望的结果仍然没有出来时,当……。你非常沮丧,非常失落,想摔板子、砸东西……可是,就在某一时刻,脑中灵光一闪,问题被发现、解决方案被找到,它竟然……终于……按照自己的期望运行起来。此刻的疲倦、失望、懊恼,顷刻烟消云散,取而代之的无比的激动与兴奋,好比自己是全世界最牛的,此刻也觉得,之前的付出与艰辛都是值得的。
笔者也像大多数电子爱好者一样,从大学开始进入学校的实验室,从搭简单的基本电路、学习模电、数电、单片机的知识开始,参加各种电子竞赛,经历其中激烈的竞争与残酷的选拔,一路冲杀过来,其中有获奖的喜悦,也有没达到预期目标的遗憾。这段经历,是大学时光中的骄傲。还有两个月笔者也将告别大学,加入电子工程师的行列。离别总是伤感的,期间的回忆却是甜美的。带着这些宝贵的回忆,轻装上路,在电子世界继续远行。之所以选择在这条路上前行,生计是一方面,更重要的是自己对它与生俱来的喜爱,像溶于血肉那般不可分离。
下面,笔者将自己的STM32学习经历及自己总结的分享给大家:
一、STM32F4Discovery 串口
串口,想必大家不陌生,这也是笔者根据固件库完善的第一个STM 32代码,完成了信息的接收与处理,而不是简单的直接发出去。帖子链接如下:
后来,看到英蓓特公司的F4Discovery扩展模块光盘中有关于串口的代码,其提供三路串口代码,但只有一路可正常使用。于是一股子干劲就上来了,想自己把它完善一下,实现预期功能。期间遇到的问题是,串口数据是乱码,排除波特率的问题后,最终定位到引脚复用问题上(这也给我一个教训:编程要结合硬件,多看原理图,用示波器分析等)。改善后的代码可支持六路串口独立收发(基于中断和DMA)
帖子链接如下:
二、STM32F4-Discovery烧录外部STM32芯片
STM32F4-Discovery自带了SWD方式的ST-Link调试器,可以用来调试和烧录其它STM32芯片和开发板。一般STM32开发板上的调试接口为20脚的JTAG接口,而STM32F4-Discovery板载的SWD调试连接器为6教SWD接口,可以用一条20脚转6脚的连接线将SWD调试器连接到开发板的JTAG接口上。使用时需拔掉ST-Link的两个跳帽,以断开其与自身STM32F407VGT6的连接。
(1)硬件连接
下图是JLink接口的SWD端口配置图, 可以作为连接参考。 引脚编号为简易牛角座顶视图对应的编号。红线标识的引脚对应着ST-LINK/V2调试连接器CN2的6个引脚。
ST-LINK/V2调试器对应开发板JTAG接口的连线
(2)软件设置(MDK 为例)
从菜单Project --> Options for Target 'XXXX'打开项目选项对话框,按下图红框标记的设置一下即可,如同对自身芯片的设置。
|