我的新程序已支持自动ISP,RTS控制复位,DTR控制Boot0。 其实用我的程序ISP盲调stm32f,无需控制Boot0,在调试时固定把Boot0接高,Boot1接低,复位后直接进入BootLoader。要下载就下载,要运行就运行。如果连复位键都不想按,可以在应用程序里合适地方调用NVIC_GenerateSystemReset函数。也可以用电源开关来实现复位。
stm32f ISP盲调建议接法:
Boot1/PB2,接下拉电阻到地,可作为高电平有效的纯输出,比如驱动个LED是没问题的。 Boot0,接下拉电阻到地,接跳线到Vdd。不插跳线帽,正常引导FLASH程序;插跳线帽,进入BootLoader,开始ISP盲调。 UART1的TXD/RXD,CMOS电平或RS232电平均可。但是建议在TXD的输出脚处加一个测试点;在RXD输入端加一个测试点,RXD再通过一个4k7左右电阻接RS232电平转换芯片管脚。这样能在RS232电平芯片不正常时保持ISP有效。当然,Hotpower老兄说的对,TTL电平的串口难整呀。还是整232电平的吧。
ISP盲调的一大好处,多出来N个IO口。而且stm32f的JTAG口管脚天南地北四面都有,全要连到JTAG调试借口,挺影响走线的。 |