STM32------串口、串口中断、蓝牙、wifi、4g、独立看门狗IGDW、窗口看门狗

文章详细介绍了STM32使用HAL库进行串口通信的过程,包括非中断和中断模式下的发送与接收函数,并强调了在使用printf函数时需要重定向输出到串口。此外,还讨论了独立看门狗和窗口看门狗的配置及其溢出时间计算,以及在主函数中处理中断和调试信息的方法。
摘要由CSDN通过智能技术生成

memset(地址、清零0、大小)要包含头文件 “string.h”

通过串口发送数据和接收数据(非中断)

HAL_UART_Transmit(); ----发送函数  串口发送数据,使用超时管理机制
HAL_UART_Receive();  -----接收函数 串口接收数据,使用超时管理机制
HAL_UART_Transmit_IT(); 串口中断模式发送  
HAL_UART_Receive_IT(); 串口中断模式接收
接收外来信息存放在ch数组中-----使用printf函数要包含头文件"stdio.h"-----打开keil中LIB库---printf会直接调用fputc--- 无法使用printf进行输出,必须重新定义标准库函数里与输出函数相关的函数。
例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),方法如下
:只要自己添加一个int fputc(int ch, FILE *f)函数 

                                                串口通过上位机/蓝牙点灯(非中断)

                                                 通过串口(蓝牙发送)点灯(中断)

1、重写printf函数,注意要点keil里面的BLE勾选

2、注意设置串口的波特率 蓝牙波特率9600

3、头文件 stdio.h string.h

4、在主函数中 有个心跳包,再if buffer & 0x8000

 

 重写printf函数 

在主函数while中

wifi串口中断点灯/风扇/继电器

 中断回调函数和printf函数

 主函数中用串口2/白盒测试来显示调试信息,要先开启中断,中段优先级小于滴答定时器。发送wifi模块指令 给wifi模块  模块由于会返回信息给单片机产生接收中断,用标志位 while卡点,while中要放delay(10);配置连接上之后 通过网络调试助手可以透传

4G跟wifi模块一样

独立看门狗

 

 重装载寄存器是一个12位的寄存器,用于存放重装载值,低12位有效,即最大值为4096,这个值
的大小决定着独立看门狗的溢出时间。

 

 窗口看门狗:WWDG

窗口看门狗用于监测单片机程序运行时效是否精准,主要检测软件异常,一般用于需要精准检测
程序运行时间的场合。
窗口看门狗的本质是一个能产生系统复位信号和提前唤醒中断的6位计数器。

 

独立看门狗PSC(4---256) =4*2^prer(000--111)

溢出时间T = psc*pcr/频率

窗口看门狗 溢出时间 T = 4096*2^WDGTB(1/2,4,8)*64/频率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值