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

合肥网站建设市场怎么做网站跳转

合肥网站建设市场,怎么做网站跳转,南宁排名推广,互联网全网推广本文为大家介绍如何使用 串口 接收定长 和 不定长 的数据。 文章目录 前言一、串口接收定长数据1. 函数介绍2.代码实现 二、串口接收不定长数据1.函数介绍2. 代码实现 三#xff0c;两者回调函数的区别比较四#xff0c;空闲中断的介绍总结 前言 一、串口接收定长数据 1. 函… 本文为大家介绍如何使用 串口 接收定长 和 不定长 的数据。 文章目录 前言一、串口接收定长数据1. 函数介绍2.代码实现 二、串口接收不定长数据1.函数介绍2. 代码实现 三两者回调函数的区别比较四空闲中断的介绍总结 前言 一、串口接收定长数据 1. 函数介绍 开启串口的接收中断 HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);参数 huart这是一个指向 UART_HandleTypeDef 结构体的指针用于标识特定的 UART 外设实例。该结构体包含了该 UART 实例的各种配置和状态信息。 pData这是一个指向存储接收数据的缓冲区的指针。当接收到数据时数据将被存储在该缓冲区中。 Size这是要接收的数据的字节数。函数将尝试从 UART 接收指定数量的字节到 pData 缓冲区中。 串口接收完成回调函数 // 当串口接收到数据就调用该回调函数 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {}参数 huart这是一个指向 UART_HandleTypeDef 结构体的指针用于标识特定的 UART 外设实例。该结构体包含了该 UART 实例的各种配置和状态信息。 2.代码实现 // 接收数据的缓冲区 uint8_t recv_buff 0;// 1. 开启串口接收中断每次只接收1位数据 HAL_UART_Receive_IT(huart1, recv_buff, 1);/* 2.中断的方式接收定长的数据 */ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {if(huart-Instance USART1){ if(recv_buff A){printf(recv : A \r\n);}else if(recv_buff B){printf(recv : B \r\n);}// 再次开启串口接收中断每次只接收1位数据HAL_UART_Receive_IT(huart1, recv_buff, 1);} } 二、串口接收不定长数据 这里会引入空闲中断至于什么是空闲中断 在第四大点中会介绍。 1.函数介绍 开启串口空闲接收中断 HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);参数 huartUART 句柄指向正在使用的串口设备。pData存储接收数据的缓冲区的指针。Size期望接收的数据字节数。 串口接收事件回调函数 void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) {}参数 huartUART 句柄指向正在使用的串口设备。Size接收到的数据字节数。 2. 代码实现 uint8_t recv_buff[20] {0}; // 定义一个长度为 20 的接收缓冲区// 1.打开空闲接收中断 HAL_UARTEx_ReceiveToIdle_IT(huart1, recv_buff, sizeof(recv_buff));// 2. 空闲中断时调用的回调函数 void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) {if(huart-Instance USART1) // 检查是否为 USART1 串口{recv_buff[Size] \0; // 在接收到的数据末尾添加字符串结束符if(strcmp((char*)recv_buff, LED ON) 0){printf(led on is ok\r\n);}else if(strcmp((char*)recv_buff, LED OFF) 0){printf(led off is ok\r\n); }}// 重新开启空闲接收中断继续监听串口数据HAL_UARTEx_ReceiveToIdle_IT(huart1, recv_buff, sizeof(recv_buff)); } 三两者回调函数的区别比较 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart); void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size); 这两个函数都是串口接收的回调函数但是它们在触发时机上有所不同 HAL_UART_RxCpltCallback 函数是标准的 HAL 库提供的串口接收完成回调函数。它在每次成功接收到指定数量的数据后被调用即每当接收完成一个数据包时触发一次。 HAL_UARTEx_RxEventCallback 函数是 HAL 扩展库提供的串口接收事件回调函数。它可以在串口接收到特定事件时被调用比如接收到空闲状态时触发。这个函数可以用于处理更多的接收事件而不仅仅是每次接收完成一个数据包时触发。 因此区别在于 HAL_UARTEx_RxEventCallback 函数可以处理更多类型的接收事件而 HAL_UART_RxCpltCallback 函数仅在每次接收完成一个数据包时触发。 四空闲中断的介绍 在一帧数据传输结束后通信线路将会维持高电平这个状态称为空闲状态。当 CPU 检测到通信线路处于空闲状态时且空闲状态持续时间大于一个字节传输时间时将会触发空闲中断 。空闲中断的触发通常表示一次完整的数据传输已经结束。 当 产生空闲中断后会调用 空闲中断的接收事件回调函数将接收到的数据全部打印出来这样就可以实现不定长数据的接收。 应用场景 串口通信中的数据帧解析 在串口通信中空闲中断常用于解析数据帧。一旦检测到空闲中断就可以确定一帧数据已经接收完整并开始解析其中的数据。 数据接收超时处理 空闲中断可以用于实现数据接收的超时处理。如果一定时间内未触发空闲中断可以认为数据接收超时并进行相应的处理例如丢弃接收缓冲区中的数据或发出超时警告。 多任务环境下的数据同步 在多任务系统中空闲中断可以用于实现任务之间的数据同步。当一个任务接收到完整的数据帧后可以通过触发空闲中断来通知其他任务进行相关操作或处理。 总之空闲中断在串口通信中具有重要的作用用于检测数据传输的完成和触发相应的处理操作适用于各种数据接收和处理场景。 总结 下一篇文章为大家介绍 串口 UART 协议.。
文章转载自:
http://www.morning.rdsst.cn.gov.cn.rdsst.cn
http://www.morning.qfbzj.cn.gov.cn.qfbzj.cn
http://www.morning.zqfz.cn.gov.cn.zqfz.cn
http://www.morning.phcqk.cn.gov.cn.phcqk.cn
http://www.morning.qbmjf.cn.gov.cn.qbmjf.cn
http://www.morning.znqxt.cn.gov.cn.znqxt.cn
http://www.morning.npfkw.cn.gov.cn.npfkw.cn
http://www.morning.kxmyj.cn.gov.cn.kxmyj.cn
http://www.morning.mmjqk.cn.gov.cn.mmjqk.cn
http://www.morning.zqcdl.cn.gov.cn.zqcdl.cn
http://www.morning.pxbrg.cn.gov.cn.pxbrg.cn
http://www.morning.rykgh.cn.gov.cn.rykgh.cn
http://www.morning.rjjys.cn.gov.cn.rjjys.cn
http://www.morning.zrfwz.cn.gov.cn.zrfwz.cn
http://www.morning.rrms.cn.gov.cn.rrms.cn
http://www.morning.dyxlm.cn.gov.cn.dyxlm.cn
http://www.morning.qxkjy.cn.gov.cn.qxkjy.cn
http://www.morning.txlnd.cn.gov.cn.txlnd.cn
http://www.morning.rdlfk.cn.gov.cn.rdlfk.cn
http://www.morning.yxyyp.cn.gov.cn.yxyyp.cn
http://www.morning.zcncb.cn.gov.cn.zcncb.cn
http://www.morning.glswq.cn.gov.cn.glswq.cn
http://www.morning.pjwrl.cn.gov.cn.pjwrl.cn
http://www.morning.rpsjh.cn.gov.cn.rpsjh.cn
http://www.morning.xltwg.cn.gov.cn.xltwg.cn
http://www.morning.rntby.cn.gov.cn.rntby.cn
http://www.morning.ljbm.cn.gov.cn.ljbm.cn
http://www.morning.qyqdz.cn.gov.cn.qyqdz.cn
http://www.morning.txysr.cn.gov.cn.txysr.cn
http://www.morning.llcgz.cn.gov.cn.llcgz.cn
http://www.morning.tymwx.cn.gov.cn.tymwx.cn
http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn
http://www.morning.jcyrs.cn.gov.cn.jcyrs.cn
http://www.morning.hxhrg.cn.gov.cn.hxhrg.cn
http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn
http://www.morning.dfojgo.cn.gov.cn.dfojgo.cn
http://www.morning.rmtmk.cn.gov.cn.rmtmk.cn
http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn
http://www.morning.fqyqm.cn.gov.cn.fqyqm.cn
http://www.morning.clndl.cn.gov.cn.clndl.cn
http://www.morning.cfccp.cn.gov.cn.cfccp.cn
http://www.morning.jydky.cn.gov.cn.jydky.cn
http://www.morning.gbfzy.cn.gov.cn.gbfzy.cn
http://www.morning.nrcbx.cn.gov.cn.nrcbx.cn
http://www.morning.dsmwy.cn.gov.cn.dsmwy.cn
http://www.morning.ssqwr.cn.gov.cn.ssqwr.cn
http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn
http://www.morning.nfbkz.cn.gov.cn.nfbkz.cn
http://www.morning.gqwpl.cn.gov.cn.gqwpl.cn
http://www.morning.jbfjp.cn.gov.cn.jbfjp.cn
http://www.morning.mcfjq.cn.gov.cn.mcfjq.cn
http://www.morning.phxdc.cn.gov.cn.phxdc.cn
http://www.morning.dfygx.cn.gov.cn.dfygx.cn
http://www.morning.xjkfb.cn.gov.cn.xjkfb.cn
http://www.morning.yqsq.cn.gov.cn.yqsq.cn
http://www.morning.fyxtn.cn.gov.cn.fyxtn.cn
http://www.morning.ffcsr.cn.gov.cn.ffcsr.cn
http://www.morning.ynrzf.cn.gov.cn.ynrzf.cn
http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn
http://www.morning.rxwnc.cn.gov.cn.rxwnc.cn
http://www.morning.lgsfb.cn.gov.cn.lgsfb.cn
http://www.morning.lxqyf.cn.gov.cn.lxqyf.cn
http://www.morning.jppdk.cn.gov.cn.jppdk.cn
http://www.morning.lstmq.cn.gov.cn.lstmq.cn
http://www.morning.kmcfw.cn.gov.cn.kmcfw.cn
http://www.morning.nggry.cn.gov.cn.nggry.cn
http://www.morning.ngcbd.cn.gov.cn.ngcbd.cn
http://www.morning.cpljq.cn.gov.cn.cpljq.cn
http://www.morning.nhlyl.cn.gov.cn.nhlyl.cn
http://www.morning.lfjmp.cn.gov.cn.lfjmp.cn
http://www.morning.sxjmz.cn.gov.cn.sxjmz.cn
http://www.morning.phlrp.cn.gov.cn.phlrp.cn
http://www.morning.yrhd.cn.gov.cn.yrhd.cn
http://www.morning.lmdfj.cn.gov.cn.lmdfj.cn
http://www.morning.dgknl.cn.gov.cn.dgknl.cn
http://www.morning.xkhxl.cn.gov.cn.xkhxl.cn
http://www.morning.dgckn.cn.gov.cn.dgckn.cn
http://www.morning.pycpt.cn.gov.cn.pycpt.cn
http://www.morning.ghphp.cn.gov.cn.ghphp.cn
http://www.morning.nrqnj.cn.gov.cn.nrqnj.cn
http://www.tj-hxxt.cn/news/270446.html

相关文章:

  • 宁波建站平台郴州今天几例
  • 手机网站和app有什么区别山东潍坊新闻
  • 公司的网站建设费会计分录印象笔记到wordpress
  • 装修网站平台排行榜进入网络管理的网站
  • 学校网站建设工作会议网站制作公司多少费用
  • 做互联网产品和运营必备的网站免费域名申请 知乎
  • 漯河市郾城区网站建设怀化住建部网站
  • 购买腾讯备案网站网站建设销售客户疑问
  • 网站开发入门书籍2018网页版微信聊天记录会被监控吗
  • 为个人网站做微信服务号wordpress试玩app
  • 贸易网站建设网站上传不了图片不显示不出来
  • i5 7500网站开发廊坊网站建设搭建
  • 企业网站开发使用方法wordpress 截图
  • 网站策划职业规划网站销售源码
  • 做家具定制的设计网站衡水建站公司
  • 做网站给女朋友网页优化包括
  • 郑州专业做网站公司网站建设的生存期模型
  • 怎么用免费的网站空间雄安优秀网站建设公司
  • 动易企业网站网站优化合同模板
  • 西安做网站的公司报价企业展厅建筑外观
  • 淘宝联盟怎么建网站一个公司是否能备案多个网站
  • 玉山县住房城乡建设局网站wordpress生成卡密
  • 做网站什么前端框架方便ssh建wordpress
  • 企业网站建设的目的wordpress缩略图比例
  • 网站建设评价量规西安网站开发培训多少钱
  • 炫客网站建设竞价推广托管服务
  • 应聘网站建设工程师eroticalia wordpress
  • 专业建设外贸网站制作网页特效代码下载
  • 自己的网站什么做优化什么样的网站利于百度优化
  • 三亚兼职招聘信息网站ftp怎么做网站