
我是大三的时候第一次听说STM32的。那时候参加电子设计大赛,学校二十五个队,有二十四个队用的MSP430,只有和我们一个实验室邻桌的用的STM32,一直跟我讲STM32怎么好怎么好,可那时年少无知。 后来M0来袭的时候,手上有了一块STM32F0 Discovery,板子做的很精致,接触到库开发,感觉很好用。工作之后,开始看到各种各样的单片机,STM32所占的比重差不多达到了40%,所以便想系统地学一下。那时身上也没什么钱,所以只买了一块STM32F103ZET6的核心板,做的很精致,一直带在身边。后来做项目的时候也常用这个做验证。 我用STM32并没有做过太大的项目,所以只能在这里说一些简单的东西,有大牛经过,看到千万不要笑话。 从51,avr或者MSP430到STM32的时候,有一个很不习惯的地方就是不太方便操作一组8位的IO,比如用有一个8位的数据data1要赋给一组IO,51的话就可以直接写P1 = data1,诸如此类,但最初用STM32的时候却无从下手。后来用习惯了,才知道也可以有类似的用法,比如 uint16_t pinstate; pinstate = GPIO_ReadOutputData(GPIOF); GPIO_Write(GPIOF, (pinstate & 0xff00) | (pinout & 0xff)); 需要先把当前的管脚状态读回,再未使用的位保持不变,只改变需要改动的位,这样可以实现任意位或多位的操作。 学习过程中常看的是野火的玩转STM32和战舰STM32的文档,相对来说,战舰STM32写的要全一些,后来用labVIEW找到了冰凌科技的一些资料,也很实用。 使用过程中用到的都是一些相对简单的功能,GPIO,ADC,USART,Timer,IIC,哦,倒是没花时间去研究STM32的IIC,论坛里常看到有人说不好用,所以就直接写的软IIC,用着也挺好。 感觉STM32之所以能够做到这么通用,一是价格优势,另一个就是库做的很好。 支持STM32,希望越来越好。 |
RE:【MCU实战经验】+STM32F103使用小记