当年刚入坑那会,我也想过这个问题,用的单片机是STC15F2K60S2,于是乎我用蓝牙模块进行了测试,发现失败了,那会懂得也不多,也没进行什么深入研究,再后来学了STM32,发现这玩意能支持IAP,于是就搞了一个,什么串口(蓝牙模块不就是串口么)升级,USB升级,以太网升级,甚至IIC升级都搞了(IIC很慢就是了),最后回过头来看用蓝牙串口下载程序这件事,发现.没什么很大的意义,至少在我所接触的行业里没什么意义,
嗯
跑题了,说说STC的下载啊
STC串口下载需要冷启动,单纯的使用蓝牙串口行不通,需要借助另一个芯片来给要升级的芯片进行复位,具体的协议记不太清了,反正就是,在STC的下载器上点完下载后,串口会发送0x7F这个数据,不停的发,如果你了解串口就会知道,不管什么波特率,0x7F永远是0x7F,当单片机启动时,里边的BootLoader会先去检查串口,发现这个数据大量存在的话,就进下载模式,否则就进用户程序.下载过程中会不停的进行数据交互,这里边有一个超时判断,我当年失败就失败在了这里,蓝牙模块的延时超过了下载器设置的超时,所以,你懂得,不知道现在有没有牛逼点的蓝牙模块能做到很低的延时.如果能,那么应该就可以使用蓝牙模块进行下载,或者,再牛逼点,学透彻STC的下载协议,自己写一个上位机,调整延时时间,就行了.
我猜就行了吧,不知道BootLoader里边有没有这个超时判断...