【MCU实战经验】+STM32F051嵌入式开发的利器 个人在一些产品的开发项目中应用STM32F0的经验总结: STM32F0芯片的主要特点与优势: 1.有多通道DMA,提高了实时数据传输的实时效率,减少了CPU的开销. 2.有多个中断源,方便多任务切换. 3.支持触摸按键功能.特有的外设. 4.Flash可以模拟EEPROM,存储一些参数. 5.RTC可以用于一些事件的时间记录.若有电池供电,可以断掉不掉失的后备SRAM 6.多达16通道的ADC,1MS转换速度,方便一些常用的电压,电流等模拟量的测量. 7............. 1. 按键: STM32F0在按键功能上的优势: A. 可以IO中断,或是定时扫描, B. 可以内部上拉省电阻,省PCB,省焊接工序. C.支持触摸按键功能.特有的外设. 应用情况: A. 一对一: 如果芯片上剩余的IO口比较多,可以直接一个按键对应一个IO端口.STM32F0可以设置上拉,可以节省一个电阻,省出PCB 板的面积. B. 一对多: 模拟法: 如果芯片上剩余的IO口比较少,可以使用STM32F0的一个ADC模拟端口,通过检测不同按键的对应电阻值不同 实现. C. 一对多: 扫描法: 采用辅助芯片,比如74HC系列的74HC164的,将按键扫描的并行输入转成串行数据输出. D.触摸按键功能: 电容检测方式的,电容值转成频率. 优势,没有机械损耗,使用寿命长,无声音干扰. 2.显示: LED : A. 定时器循环扫描: 只段选采用锁存器共享使用,位选用IO口选中来分时复用段选,可以采用串行转并行,例如74HC164等,一个时钟线,一个数据线,将串行数据转并行的8位来控制8位选,段选选中不同的段,这样分时复 用. 优点: 节省器件芯片,节省IO端口. 缺点: 对CPU的开销稍高了些,但是在一般应用任务较少时,可以采用此法. B. 采用多锁存器: 采用多锁存器,段选与位选分别采用不同的74HC595.这样只发送一次数据即可. 优点: 节省了CPU开销. LCD : A. 并行方式: 采用并行IO 8位或是16位,来传送数据. 优点: 节省了CPU开销.减少了耗用的时间. 缺点: 浪费了IO端口. B. 串行方式: 一个时钟线,一个数据线,来代替8位或是16位并行的数据线. 优点: 芯片,节省IO端口. 缺点: 对CPU的开销稍高了些,但是在一般应用任务较少时,可以采用此法. 优化显示的技巧: 可以采用SPI的FIFO中断或是DMA或是定时器中断来发送数据,来提高系统资源的利用率,提高实时性. 3.模拟量测量: STM32F0在模拟量测量功能上的优势: A. 多达16通道 的1MPS的转换速度.一般应用足够了. B. 多个触发源,支持IO,定时器等方式. C. 有多种转换后处理数据的中断方式,非常灵活. D. 支持DMA,提高了效率. E. ADC的时钟源可以多种方式输入,非常灵活,并且可以灵活设置采样时间以适应不同的外部电路的阻抗. 应用情况: A. ADC多通道定时采样 B. ADC单通道定时采样 C. ADC单通道随机采样 ADC模拟模块使用注意事项: A. 采样保持周期要根据实际情况设置,以适用不同的阻抗电路. B. DMA使能与ADC使能的先后,会导致ADC转换通道顺序不同,要特别注意!! C. 输入信号的电压范围为0-3.3V(VDD)之间,设计时最好加上下限幅保护功能电路硬件. 4.通讯: UART.可采用485方式,或是Uart转Can方式.主要是工业上要求抗干扰要强.并且要在电气上进行隔离. 5.存储: Flash模拟EEPROM或是IIC SPI外扩EEPROM或是FRAM. 注意点:如果用内部FLash模拟EEPROM,要注意一些关键程序的执行时间,因为FLash擦除时间约20mS,其他非程序段的执行会受到影响的. 6.RTC: 内部时钟或是外部时钟芯片. 内部的RTC的精度取决于所用的晶振,一般外部晶振的精度都不高.如果要求比较高,请使用外部RTC芯片(自带温度补偿晶振的RTC芯片). 7.看门狗. 项目完成了,要开启内部的开门狗,开门狗所有的时钟要与主系统所有的时钟源不同,可以采用内部的32K的晶振. |
【STM32F0开发日志/评测/笔记】+互补PWM波的产生
STM32F030 PB14和PB15无法输出PWM求助
【STM32F030探索套件】序列之五 外部中断
【STM32F0开发日志---二】+ucosii.2.92移植在STM32F030
上传个STM32F0+5110+内部温度传感器的菜鸟实例
【STM32F030探索套件使用问题】STM32F030 SPI方式驱动ST7565LCD失败
求一份STM32F051 I2C驱动LCD 12864的例程
STM32F0 M0 向结构体赋值进入HardFault异常
STM32F0 ADC-DMA方式采集2路数据时出现问题
如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习,来自STM32神舟系列开发板设计师的总结)