当前位置: 首页 > news >正文

app网站开发定制苏州建设局网站首页

app网站开发定制,苏州建设局网站首页,企业级网站开发平台,邮件设计网站1.问题描述: 只有上电后第一次接收到的第一字节数据会丢失,往后再接收也不会存在问题了。 2.先贴出来重写UART中断回调函数 我在接收到第一字节数据后开启定时器中断的,做一个超时处理,每次接收到数据会对定时器计数值清零&…

1.问题描述:

只有上电后第一次接收到的第一字节数据会丢失,往后再接收也不会存在问题了。

2.先贴出来重写UART中断回调函数

我在接收到第一字节数据后开启定时器中断的,做一个超时处理,每次接收到数据会对定时器计数值清零,如果超过6ms则认为一帧数据接收完毕。

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{if(huart->Instance == USART1){if(uart1.rx_buf_cnt >= UART1_RXSIZE - 1)	//接收数据量超限,错误{uart1.rx_buf_cnt = 0;memset(uart1.rx_buf, 0x00, sizeof(uart1.rx_buf));		HAL_UART_Transmit(huart, (uint8_t *)"数据溢出", 10, 0xFFFF);}else									//接收正常{uart1.rx_buf[uart1.rx_buf_cnt] = RxBuffer;	//接收数据存储到rx_bufuart1.rx_buf_cnt++;if(uart1.rx_buf_cnt == 1){			HAL_TIM_Base_Start_IT(&htim3);	//在接收到第一个数据后 开启定时器6ms中断	}			__HAL_TIM_SET_COUNTER(&htim3, 0);  //每次接收数据后清空计数器数值,防止超时}HAL_UART_Receive_IT(huart, (uint8_t *)&RxBuffer, 1); }
}

上电第一次接收数据总是会少第一个字节。
在这里插入图片描述

3.解决过程

一开始以为是UART初始化后没有清除接收中断标志位,尝试过清除标志位,也根据网上说得的开中断要放在初始化后,但都没有效果,仿真过程中在中断回调函数中加入断点后就可以接收到,怀疑有什么影响到回调函数了,然后把开启定时器中断函数注释掉之后就可以了,就猜测是定时器初始化后中断标志位没有清零,开启后定时器中断后就直接进入中断函数把接收数据个数直接清零了,然后就从第二个数据重新开始接收。
在这里插入图片描述

3.解决最后

正如我的猜测,果然加入清除定时器中断标志位后数据就接收正常了。
原因:在定时器初始化的时候,为了更新预装载值,会置中断标志位,所以需要在NVIC开启前先清除一下标志位。
在这里插入图片描述

http://www.dtcms.com/a/600301.html

相关文章:

  • 制度建设对网站管理的重要性wordpress 爱范儿主题
  • 电子商务网站建设实验报告心得wap网页制作
  • 广州哪里可以做网站可以查各种资料的app
  • 企业宣传网站制作哪个网站做黄金交易最好
  • 做公司网站建设价格低2024最火游戏排行榜
  • wordpress缩进去的边栏镇江网站关键词优化预订
  • 小米的网站设计一般网站建设需求有哪些
  • 建立网站程序网站更换主机需要怎么做
  • 网站推广站群湛江市住房和城乡建设局网站
  • 上海南京东路网站建设雄安企业网站建设
  • 微网站的图标怎么做个人信息展示html模板
  • 网站三要素怎么做网站建设与管理基础
  • 网站备案号密码深圳网站建设哪家便宜
  • 傻瓜式建站平台电商平台运营方案
  • 有什么做家纺的网站酒仙网网站推广方式
  • 公司的建设网站公司程序员40岁失业死定了
  • 东平网站制作哪家好广州注册监理公司
  • 网站建设纪念币发售wordpress插件的选择
  • 哈尔滨seo建站上海那家网站做的好
  • 做网站的猫腻诊所网站建设
  • 杭州网站建设 巴零郑州设计师网站大全
  • 佛山市顺德区建设局网站抖音关键词排名系统
  • 企业网站怎么管理系统麻将app软件开发
  • 网站备案注销原因常用的seo工具
  • 浙江建筑网站网站建设的主流架构有哪些
  • 如何知道一个网站做的什么推广嘉兴模板建站定制网站
  • 使用腾讯云建设网站微信公众号 上传wordpress
  • 100m光纤做网站烟台网站建设求职简历
  • 网站做直播需要资质吗中国设计师联盟网站
  • 网站规划怎么做软件开发流程模板