本文摘自21ic论坛,作者:21ic网友一路向北lm
第一次接触到ST MCU是在大二的时候,那时候刚学完51单片机,教51单片机的祝老师说:“如果你们想更深入的学习单片机,可以研究下STM32,作为一款出色的单片机它既可以跑一些实时的操作系统,也可以跑一些简单的ui界面,学习STM32是迈入RAM单片机的第一步,也是为以后学习嵌入式Linux打下基础。”听老师的话,省了几天的饭钱,买了一块普中科技stm32的开发板,第一次接触到了ARM Cortex M3内核的芯片,开发板上的Demo可以说是让我开了眼界,突然觉得51单片机的世界很渺小。体验了一下UCOSIII系统下的游戏:俄罗斯方块、贪吃蛇、简易乒乓球等。
大学的生活很无聊,那些无聊的课上我总是带着一本单片机的书仔细研究。课下飞奔回宿舍,在开发板上实现自己想要的功能。兴趣是最好的老师,很快我就开始系统的学习STM32单片机,从简单的流水灯开始操作GPIO,再到后面的定时器、PWM、定时器捕获,这些在51单片机那里不是不可能完成的事情。
有段时间特别忙碌,刚结束了蓝桥杯的国赛,就立刻着手准备了全国大学生智能互联创新创业大赛,作为队长我们队决定用STM32做一个智能台灯,在不到一个月的时间里,我一边学习开发板的各种外设,一边做着智能台灯的硬件电路。一个月的时间很赶,不过最后还是区赛二等奖的好成绩,与一等奖差了一个名额,有点遗憾。比赛期间我们团队还申请了一块STM32F401的NUCLEO的开发板,第一次接触到NUCLEO开发板感觉这个最小系统做的很棒,虽然外设不是很多,但板载的ST-Link很是方便。我们这次比赛主要使用该板卡和我们的WIFI通信,实现智能台灯的联网。台灯主要特色功能就是可以手机APP控制、手势感应控制、光感应自动控制、坐姿提醒、硬件网络闹钟等。
后面还系统的学习的了各种总线,包括IIC、SPI、SDIO、RS232、RS485、CAN、以太网等。学习总线一定需要去一步步调试,当然必须有两块开发板。感谢祝老师的赞助,送我一块一直想买的野火的霸道开发板,让我开心的是还带有5.0寸的彩屏。之后的那段时间我就开始一段STenWin的学习,自己动手做了一个简单的小界面,实现了人机的互动。有点遗憾的是使用STM32F1来跑STenWin的话界面很多就会很卡顿,如果再加上要显示很多图片,那就更难以想象。
学习的路上总是在思考,为什么不可以让界面显示的更加流程呢?那时候ST的TouchGFX 还没有。自己想象着去学习下嵌入式的实时操作系统UCOS,在学习UCOS期间很有收获,改进了以前的智能台灯的代码,不至于有的时候因为网络控制而影响手势识别,就好像一个人在同时做两件事情。UCOS没学完我的大学生活就结束的了,在大学四年期间学习了不少单片机的知识,在自己心里对单片机已经有了一个很深的定位。
还没有结束,很开心的事我考上的研究生,在参加比赛完之后的一两个月,我就紧张准备了下考研,没想到自己会这么幸运。读研期间也不敢怠慢,自己就开始深入学习嵌入式了Linux,很遗憾目前的STM32的单片机还不支持linux操作系统,但是我们内心总是充满着希望,这一天很快就会来了。在等待的这些时间也会玩下RT-Thread 物联网操作系统。在STM32的板子跑一些感觉下国人的努力成果。TouchGFX对于自己来说也是很惊喜的,这个新的GUI来代替之前的enWin卡顿的问题。虽然自己还没有真正的将TouchGFX移植到开发板上去体验一把,可以想象出来那个流畅度。爆炸性新闻 ST最近推出了STM32 cortex-A 系列的处理器芯片,推出了运行linux ,android 的STM32 系列产品STM32MP157和STM32MP157C,这个新的产品线类似于freescale 的i.mx 7,是一种异构类芯片,内含一个或者两个cortex-A7 内核和一个Cortex-M4 核。在学习嵌入式的路上看到了希望,也许再过不久,基于STM32MP的嵌入式系统就会流行起来。