STM32的基本系统主要涉及下面几个部分:
1、电源
1)、无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(如果封装有该引脚)都必需要连接,不可悬空;
2)、对于每组对应的VDD和GND都应至少放置一个104的陶瓷电容用于滤波,并接该电容应放置尽量靠近MCU;
2、复位、启动选择
1)、Boot引脚与JTAG无关。其仅是用于MCU启动后,判断执行代码的起始地址;
2)、在电路设计上可能Boot引脚不会使用,但要求一定要外部连接电阻到地或电源,切不可悬空;
3、ADC
1)、ADC是有工作电压的,且与MCU的工作电压不完全相同。MCU工作电压可以到2.0V~3.6V,但ADC模块工作的电压在2.4V~3.6V。设计电路时需要注意。
4、时钟
1)、STM32上电默认是使用内部高速RC时钟(HSI)启动运行,如果做外部时钟(HSE)切换,外部时钟是不会运行的。因此,判断最小系统是否工作用示波器检查OSC是否有时钟信号,是错误的方法;
2)、RTC时钟要求使用的32.768振荡器的寄生电容是6pF,这个电容区别于振荡器外部接的负载电容;
5、GPIO
1)、IO推动LED时,建议尽量考虑使用灌电流的方式。
2)、在Stop等低功耗模式下,为了更省电,通常情况下建议GPIO配置为带上拉的输出模式,输出电平由外部电路决定;
6、FSMC
对应100pin或144pin,FSMC的功能与I2C是存在冲突的,如果FSMC时钟打开,I2C1的硬件模式无法工作。这在STM32F10xxx的勘误表中是有描述的。