STM32F0的一些实用小改进

2019-12-12 18:12发布

        以前一直用的STM32F1系列,最近发现ST出了个STM32CubeMX,可视化配置,可以直接生成IAR和KEIL的工程,还可以加入FATFS、FREERTOS等这些MiddleWares,
但是F1系列的貌似加不了,于是开始关注F0,发现相比F1有了许多实用的小改进,具体还没用过,也向用过F0的朋友们求证一下。
        1、CRC生成多项式可编程,支持7、8、16、32位
                一直觉得STM32F1的CRC功能很鸡肋,固定的多项式0x04C11DB7,项目中多用Modbus,CRC16就只能自己算,现在F0的CRC应该可以用来计算CRC16了吧。
        2、红外接口
                没做过红外,STM32F1的串口有个IRDA的功能,之前看到好多人在问能不能产生红外遥控的38K载波,可能是ST考虑到有这方面的需求,直接多加了两个定时器,TIM17产生载波,TIM16数据?
        3、RTC
                RTC的年/月/日/时/分/秒/星期用BCD码和二进制表示,闰年和大小月自动计算,还有夏令时(这个国内貌似用不着),这样相对F1的RTC省心了不少。
        4、串口
                串口增加了自动波特率检测(个人感觉作用不大),TX/RX引脚可以交换,DE引脚可以自动控制RS485,就不需要程序再来拉IO了;Modbus是靠帧间隔来区分不同的帧,在用F1的时候还要单独开个定时器,F0增加了个串口中断来标识Modbus的帧。
        5、USB
                自带经过校准的48M晶振,在使用中还可以自校准,自带可控的内部USB_DP上拉电阻,F0的USB还要单独加个三极管和电阻来控制USB的识别,现在程序上就可以直接处理了,还有个USB_NOE可以直接来点灯。
        6、CAN
                F1的CAN和USB是共用同一部分RAM,所以同时只能使用一个功能,现在F0的USB和CAN可以同时使用互补影响了。

        以上只列出了自己感兴趣的部分改进,具体也还没使用过,欢迎用过的朋友们来讨论下;现在x宝上的F0最低2元,这么低廉的价格,再加上STM32CubeMX自动生成工程,我都已经准备放弃STM8了,都用STM32也对编程的统一有好处,大神们也来发表下意见。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。