
本帖最后由 ly_fly 于 2015-9-6 23:37 编辑 0 ~( y, r4 j0 I$ e" o! |+ g 最近在搞STM四轴,除了PID参数调节,每次还会在起飞、飞行中遇到很多问题,不得不修改程序再下载进去,每次都得插到SWD下载或串口下载器那,由于没焊排针,主板上那孔现在已月挤越大了,无奈只好想到利用无线下载,网上很多都是利用IAP的办法下载,但后来又发现了另一个非IAP模式下载办法。当时用逻辑分析仪读取了普通有线串口下载时的数据,发现其步骤如下: 1.将Boot0拉高,接着复位STM32 2.PC端串口会不断发送0x7F,与STM32握手(STM32自适应波特率),STM32收到7F后,会返回 0x79 0xF1- b5 O& y6 h. d) M 3.串口下载软件识别返回的字节会会接着进一步发送其他控制指令,就这样PC端与STM端不断收发即完成了下载程序。 4.在下载完后,将Boot0置低,接着RST复位STM32 æ¶åº ![]() 于是想到用一个第三方单片机辅助检测这特定字节,具体步骤:STC监测串口中有无连续5个以上的 0x7F(也可以多几个),将Boot0拉高,立即复位STM32,接着STC等待串口中无数据后再将Boot0拉低,接着复位STM32。下面是硬件组成:2 ]+ K1 y( ^# S& S9 X: ^- z 4 F% _6 \; E& e! ~% O2 E/ A2 C ç»æ ![]() 在大量数据传输时STM32通过IO控制STC将下载功能关闭,无线模块使用ESP8266,价格便宜所以就用它了,主要利用ESP8266无线透传功能,本次设计传输波特率:115200,不过还可以更高的,那ESP性能也不差的。 由于这8脚STC单片机是由内部晶振实现的,所以它基本没有外围电路,就一个电源处的0.1uf滤波电容,但要提升传输波特率则需考虑其他微型单片机了。ESP8266只要上电初始化后,后面基本不用管了,完全是透传数据(要是你正好仅发单个数据包为:‘+++’的那就另算了,因为那三个字节为停止透传命令)。: b' k/ H1 b4 ?) Q 本人愚见,STM初学,有错误欢迎指正。0 G9 F/ C2 W# i- Q3 S1 o 时序图文件(USBee Suite打开)、 详细电路图及STC程序: ![]() |
STM32串å£ä¸è½½è½¯ä»¶è¯»åè¯ç_é»è¾åæä»ªè¯»åºæ¶åº.rar
下载10.49 KB, 下载次数: 106
要是能够用无线的方式仿真程序那就牛掰了$ c e. k$ ~- ~4 v5 P# j, |" J- Q |
关于热释电红外传感器检测人体移动 |
不错的,无线方式更新程序。。。。先收藏了。。。 |
呵呵,想法挺多的。 |
能实现吗??? |
实现了吗楼主? |
肯定实现了,不然写出来干嘛。 |
看看,,,,,,,,,,,,, |
不错,学习了 |
群众的力量是伟大的![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
谢谢分享!!! |
不错的方法,利用WIFI进行串口透传~ |
学习一下。需要这样高档 |
![]() |