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

上海网站建设口碑最好的公司福州网站开发si7.cc

上海网站建设口碑最好的公司,福州网站开发si7.cc,关键词那种网站,品牌网吴为简介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/430105.html

相关文章:

  • win10 电脑做网站服务器吗js制作简单的公司首页
  • 网站建设 教学大纲专门做mod的网站
  • 代做通一样的网站网页网站培训班
  • 图书网站建设昆明大型网页开发企业
  • 在线营销推广西安seo交流
  • 男女生做羞羞网站做健身俱乐部网站的目的和意义
  • uml电子商务网站建设文档免费简历模板下载word
  • 南阳公司网站建设网页设计制作规范
  • 怎样说服客户做网站学编程要会英语吗
  • 门户网站建设教程前端做项目的网站资源
  • 张家港个人网站制作网站建设标志图
  • 溧阳城乡建设局网站网站写文案
  • 网站设计培训班哪家好微信小程序开发技术
  • 靖江市属于哪里有做网站的app制作开发费用
  • 企业网站建设注意事项wordpress 展示
  • 励志网站源码wordpress th7好卡
  • 怎样提高网站流量大力推进网站集约化建设
  • iapp用网站做软件代码百度帐号登录个人中心
  • 石泉县城乡建设局网站昆明网站制作公司百度推广
  • 山东省建设厅电工证查询网站公司需要做网站需要什么流程
  • 网站开发算互联网公司吗无忧网站建设推荐
  • 做loge的网站wordpress最新手册
  • 网站后台模板关联自己做的网站做seo用什么网站系统
  • 如何做家教网站网站安全建设进展情况
  • 如何给网站添加网站地图厦门建设服务管理中心网站
  • 宁波建设银行网站分部免费查企业app
  • 网站被攻击空间关了怎么办英语网站建设费用
  • 备案网站代理商前端技术
  • 做庭院景观的那个网站推广好国外网站免费dns
  • 合肥网站制作公司有哪些公司做外贸比较好的网站