我们有一款产品使用了STM32F051R8T6作为主控。最近市场反馈产品售价太高,没有竞争力,于是考虑了一些降成本的方案,其中就包括了主芯片的替代,了解了几款候选MCU的网上报价,STM32F051R8T6-u003e13.4STM32F030R8T6-u003e5.89,STM32F030C8T6-u003e4.11。
可见030系列比051系列便宜,管脚数越少越便宜,问题是Rx系列处理器是64脚封装,可用的GPIO口数量为55个,该产品已经使用了42个左右。Cx系列处理器是48脚封装,对于F030系列,可用的GPIO口数量为39个,对于G030系列,由于只需要一组电源引脚,可用的IO口数量为43个。为了将主芯片成本降到最低,我们最终通过以下两种方法减少了产品所需要的GPIO数量,1)采用4x4的开关矩阵电路实现15路的输入检测,减少了15-8=7个GPIO口。
1、STM32F070更换要烧录吗方法如下:一、手动模式操作步骤1.电脑通过USB转ttl模块引出的TX、RX引脚直接连接单片机PA10、PA9引脚(串口一)2.将BOOT0设置为1,BOOT1设置为0,然后按下复位键,3.下载程序4.必须要将BOOT0设置为GND,手动复位这种方法操作繁琐,但是可以实现硬件上的最简化。另外要特别注意在第3步后,如果第4步还没有完成,就不小心复位或者突然断电(比如VCC线短暂脱离),那么程序就会被擦除。
2、STM32用SWD调试时要烧写FLASH是不是一定要接RESET可以不接,可以在MDK仿真器的设置里面不使用硬件复位,而是用systemreset或者vectreset,前者适用的范围更广。当你的程序里使用了swclk和swdio这两个引脚,去作普通io或其他的什么时,就需要接reset了,否则不需要。最好还是接上,否则哪天程序写错用了那两个io,就悲剧了,烧了一次就不能烧录第二次。
3、如何通过串口烧写STM32程序1、准备好USB传串口连接线(有能力的可以用PL2303芯片自己做);2、准备好程序,编程软件编译后会生成1个后缀为.HEX的文件,找到这个文件;3、更改STM32的BOOT,开发板上配有短接帽,按照STM32的用户手册进行短接;4、连接好串口传输线,默认用STM32的串口1,开发板上会引出接线脚的(没有的话查用户手册自己接出来),打开串口调试助手,注意com口和波特率和电脑接口一致,找到第二步的.hex文件,直接下载即可。