USART模型

MX做了工程 前面的代码现在优化
首先做一个抽象的基础gkbaseusert模块
此后在做一个应用APP
开始调用:
第一步:
main
#include "gkbaseusart.h"
GK_usart_init(&GKU1,1);
完成绑定关系


注意:void GK_UsartReceive_IDLE(GK_USARTIDLE_TYPE  *myuart)
这个函数不用管理 就行IT中的函数一样的 

第二部:
找一个任务来做服务

for(;;)
{
	if(GKU1.rx_flag)
		SMUsart1_Server(&GKU1);
osDelay(1);
}

注意:标记位已经拉起了 有责任和义务在服务以后销毁它 我们在SMUsart1_Server函数内部清理了!!

第三部:非常重要 IT中需要放置服务函数
void USART1_IRQHandler(void)
{

 //	UsartReceive_IDLE(&huart1);
	 GK_UsartReceive_IDLE(&GKU1);

  HAL_UART_IRQHandler(&huart1);

}

注意:标记位已经拉起了 有责任和义务在服务以后销毁它 我们在SMUsart1_Server函数内部清理了!!
可以了 随手写bug
memset(Usart,0,sizeof(GK_USARTIDLE_TYPE));切忌这个函数不行!!!它摧毁了绑定关系

git@gitee.com:GKoSon/stm32usart_model.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值