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

做环保网站案例分析做网站文字编辑好不好

做环保网站案例分析,做网站文字编辑好不好,自己电脑做网站模板,一个公司可以备案两个网站title: HAL-DMA中断空闲接受不定长数据 tags: STM32HalCubemax 面对无规律长度的数据帧如何处理#xff1f; 不定长数据接收可以使用每帧数据发送完成后会有一定的空闲时间帧的时间间隔? 如果你想每帧都要可以采用dma加空闲中断的方式空闲中断一次就是一帧数据… title: HAL-DMA中断空闲接受不定长数据 tags: STM32HalCubemax 面对无规律长度的数据帧如何处理 不定长数据接收可以使用每帧数据发送完成后会有一定的空闲时间帧的时间间隔? 如果你想每帧都要可以采用dma加空闲中断的方式空闲中断一次就是一帧数据接受完成再去做其它数据解析和其他业务出来不过需要我们注意的是这里面有个小坑 __HAL_UART_CLEAR_IDLEFLAG(huart1); 我先说下如何处理 if (__HAL_UART_GET_FLAG(huart1,UART_FLAG_IDLE) SET) {uint16_t temp 0;__HAL_UART_CLEAR_IDLEFLAG(huart1);HAL_UART_DMAStop(huart1);temp huart1.Instance-SR;temp huart1.Instance-DR;temp hdma_usart1_rx.Instance-CNDTR;Usart1type.UsartDMARecLen   USART1_DMA_REC_SIE - temp;HAL_UART_RxCpltCallback(huart1); }这个函数网上说什么有bug还是啥 temp huart1.Instance-SR;  temp huart1.Instance-DR; 还要读一下这两寄存器 原理很简单就是打开空闲中断函数 触发中断后dma接收 接收完后搬到接收数组里面清除dma数组 做业务逻辑处理 处理完就全部数组清除 操作步骤如下 1.开启中断函数 void EnableUsart_IT(void){__HAL_UART_ENABLE_IT(huart1,UART_IT_RXNE);__HAL_UART_ENABLE_IT(huart1,UART_IT_IDLE);__HAL_UART_CLEAR_IDLEFLAG(huart1);HAL_UART_Receive_DMA(huart1,Usart1type.Usart1DMARecBuffer,USART1_DMA_REC_SIE);}2.触发中断后dma接收 void USART1_IRQHandler(void) {/* USER CODE BEGIN USART1_IRQn 0 */if (__HAL_UART_GET_FLAG(huart1,UART_FLAG_IDLE) SET){uint16_t temp 0;__HAL_UART_CLEAR_IDLEFLAG(huart1);HAL_UART_DMAStop(huart1);temp huart1.Instance-SR;temp huart1.Instance-DR;temp hdma_usart1_rx.Instance-CNDTR;Usart1type.UsartDMARecLen USART1_DMA_REC_SIE - temp;HAL_UART_RxCpltCallback(huart1);}/* USER CODE END USART1_IRQn 0 */HAL_UART_IRQHandler(huart1);/* USER CODE BEGIN USART1_IRQn 1 */HAL_UART_Receive_DMA(huart1,Usart1type.Usart1DMARecBuffer,USART1_DMA_REC_SIE); //再次打开DMA接收/* USER CODE END USART1_IRQn 1 */}3.接收完后搬到接收数组里面清除dma数组 /* USER CODE BEGIN 1 */void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){if (huart-InstanceUSART1){memcpy(Usart1type.Usart1RecBuffer[Usart1type.UsartRecLen],Usart1type.Usart1DMARecBuffer,Usart1type.UsartDMARecLen);Usart1type.UsartRecLenUsart1type.UsartDMARecLen;memset(Usart1type.Usart1DMARecBuffer,0x00,sizeof(Usart1type.Usart1DMARecBuffer));Usart1type.UsartRecFlag1;}} 4.业务逻辑处理 我就简单的串口打印测试 /* Infinite loop *//* USER CODE BEGIN WHILE */while (1){if (Usart1type.UsartRecFlag1 ){​ printf(re:%s,len%d\r\n,Usart1type.Usart1RecBuffer,Usart1type.UsartDMARecLen);​ memset(Usart1type.Usart1RecBuffer,0x00,sizeof(Usart1type.Usart1RecBuffer));​ Usart1type.UsartRecFlag0;​ Usart1type.UsartRecLen0;}/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */} 参考代码就一积分 给我点 串口空闲中断cubemax任意长度数据资源-CSDN文库
http://www.hkea.cn/news/14361233/

相关文章:

  • 网站怎么做留言提交功能网站建设需要的人才
  • 怎么样做网站推广石家庄网站设计制作
  • python网站开发快吗抚远网站建设
  • 中国域名网站排名vv游戏推广平台
  • 深圳做网站的大公司做目录网站注意事项
  • 珠海做网站推广公司wordpress用户登入界面
  • 如何快速推广自己的网站网页管理系统怎么制作
  • 营销型网站的运营配套不包括wordpress关键词在哪里
  • 哪里的赣州网站建设乒乓球网站建设目标
  • 网站做业务赚钱吗对比插件 wordpress
  • 建设大厦网站2二级域名免费
  • 做网站有哪些技术注册公司代理有哪些
  • 百度站长平台推出网站移动化大赛长沙哪个公司做网站好
  • 廊坊做网站企业教程钓鱼网站如何做
  • 网站改版 重定向在家做兼职的网站
  • 教师网站建设企业实践总结邯郸网站制作多少钱
  • 网站设计在线crm系统做网站办公室图片
  • 北京高端企业网站建设wordpress整合discuz用户
  • 大连微信网站建设电子商务网站建设与管理的有关论文
  • 青岛网站建设策划网站建设分金手指专业十三
  • 长葛网站建设十大网游人气排行榜
  • 网站制作南宁wordpress 导入用户
  • 衡水网站建设格公司wordpress文章打赏
  • 有阿里空间怎么做网站免费创建自己的网站平台
  • 汕头网站制作哪家强有哪些外贸公司网站做的比较好
  • 建设一个网站需要多少费用wordpress网易云插件怎么用
  • 做花瓶的网站综合性门户网站是什么意思
  • 用淘宝评论做网站wordpress 标签函数
  • .net手机网站源码下载使用flask做前后端分离的网站
  • 网站域名在哪买wordpress仿国际