stm32f4串口发送数据_单片机printf输出到串口

stm32f4串口发送数据_单片机printf输出到串口20-STM32+ESP8266+AIR202/302远程升级方案-扩展-移植远程升级包实现STM32F072+DTU远程升级单片机程序(基于STM32CubeMX)<p><iframe name=”ifd” src=https

20-STM32+ESP8266+AIR202/302远程升级方案-扩展-移植远程升级包实现STM32F072+DTU远程升级单片机程序(基于STM32CubeMX)   <p><iframe name=”ifd” src=https://sigusoft.com/developer/article/”https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_B/” frameborder=”0″ scrolling=”auto” width=”100%” height=”1500″></iframe></p>   说明   当前很多用户也在使用STM32CubeMX开发单片机程序,   这节说明一下在STM32CubeMX的基础上移植进去远程升级程序.   注:所有STM32F0XXX系列的单片机请参考这节移植使用!   前要   在移植到别的单片机之前,用户需要对自己的单片机有如下的了解:   1.会使用Flash存储数据,是非常的了解Flash的使用!   2.知道怎么跳转程序运行!(这个都是固定的几句程序,找找资料)   3.会使用定时器.   以上缺一不可!   注:(基础知识不再重复,请用户从第一节开始看!)   因为是使用的DTU,请用户自行配置DTU连接自己的WEB服务器   可以配置成TCP模式,可以配置成我的服务器,先测试下   IP地址: mnif.cn 端口号: 80   配置完成以后发送个指令   GET /1.txt HTTP/1.1   Host: mnif.cn   然后会看到返回
stm32f4串口发送数据_单片机printf输出到串口   开始移植(BootLoader程序制作)   1.新建CubeMX 工程
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口   2.配置两个串口,我串口1就负责打印日志,串口2负责和网络模组通信   串口1,我设置的
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口   串口2,波特率根据自己的选择,我的模组是
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口   3.配置工程
stm32f4串口发送数据_单片机printf输出到串口   4.让每个功能都生成单独的文件,最后生成工程
stm32f4串口发送数据_单片机printf输出到串口   5.打开工程,或者自己去工程目录打开
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口   6.把移植文件放到自己的工程
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口   7.工程添加两个Group   注意:在工程名上右键选择 Add group 这种方式添加!另一种方式会卡住.一个bug
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口   8.添加头文件
stm32f4串口发送数据_单片机printf输出到串口   9.编译下工程
stm32f4串口发送数据_单片机printf输出到串口   10.修改为自己单片机的头文件包含
stm32f4串口发送数据_单片机printf输出到串口   11.然后再编译一下,如果出现以下数据类型没有定义
stm32f4串口发送数据_单片机printf输出到串口   12.最简单的方式是在自己的 stm32fxxxx.h的头文件里面加入   typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8;   typedef __IO uint32_t vu32; typedef __IO uint16_t vu16; typedef __IO uint8_t vu8;
stm32f4串口发送数据_单片机printf输出到串口   13.编译一下(替换自己的复位重启程序)
stm32f4串口发送数据_单片机printf输出到串口   14.把自己的延时1ms函数放到此处
stm32f4串口发送数据_单片机printf输出到串口   15.替换自己的请求文件发送函数(发送GET协议),   注:假设DTU配置好了透传模式.(我使用的串口2,根据自己的修改)   只要往串口发送数据,数据就直接发送给了服务器.   如果自己的程序文件是https访问的,请自行编写https方式发送数据的方式.
stm32f4串口发送数据_单片机printf输出到串口   16.关闭自己在BootLoader程序里面使用的所有中断
stm32f4串口发送数据_单片机printf输出到串口   17.修改stmflash.c文件里面的实现程序(根据自己的单片机修改)   读写半字
stm32f4串口发送数据_单片机printf输出到串口   指定地址写入指定长度的半字数据
stm32f4串口发送数据_单片机printf输出到串口   写一个半字,并加入判断写入的是否正确
stm32f4串口发送数据_单片机printf输出到串口   指定地址读取指定长度的半字数据
stm32f4串口发送数据_单片机printf输出到串口   擦除页   注意:假设需要擦除20KB,BootLoader会传进来20.   BootLoader里面只是传进来需要擦除的KB数.   如果自己的单片机是以1024字节一页,那么此函数直接控制擦除20页即可.   如果自己的单片机是以2048作为一页,那么此函数就应该擦除10页!   所以源码里面有一句 if(STM_SECTOR_SIZE==2048){PageCnt=PageCnt/2;}
stm32f4串口发送数据_单片机printf输出到串口   18.在主程序里面写上以下程序
stm32f4串口发送数据_单片机printf输出到串口   注:如果使用的是DTU,DTU已经连接了服务器,所以屏蔽掉需要自己实现连接的部分 AutoConnectTCP()
stm32f4串口发送数据_单片机printf输出到串口   19.把 IAPTimerOut(); 函数放到1ms定时器中断函数里面   我放到了滴答定时器里面
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口   20.重定向printf打印(可以没有,最好有!)   注:假设使用的串口1作为日志打印,根据自己的修改
stm32f4串口发送数据_单片机printf输出到串口
stm32f4串口发送数据_单片机printf输出到串口   注:最好使用中断发送
stm32f4串口发送数据_单片机printf输出到串口   21.如果自己的串口使用的阻塞方式发送的printf数据,需要屏蔽下面的部分
stm32f4串口发送数据_单片机printf输出到串口   22,把 IAPPutDataToLoopList(char Res); 和 IAPHttpHead(char Res);   函数放到和模块通信的串口中断接收里面   稍后….大口大口的吃饭中..

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/79117.html

(0)
上一篇 2024年 8月 2日 下午11:39
下一篇 2024年 8月 2日 下午11:43

相关推荐

关注微信