这里写目录标题

  • 串口中断函数

串口中断函数

下面的都是一些C语言基础知识,只不过是具体算了一下,最好还是自己动手算一算呀,不过是真的秒啊

今天和大家分享的是串口通讯中是对数据如何处理的,一开始学的时候并没有注意,昨天仔细看了一下,把一些理解分享一下。
USART_RX_STA其实算是一个计数的标志吧。稍后仔细说一下。


这里是判断中断的标志位是否置位,如果置位那么久将数据存储在Res里,我们看一下USART_ReceiveData() goto进去是这样的

发现这个函数返回的数据其实是DR寄存器(数据寄存器)的值, 至于后边为什么是0x01FF,在我看来可能是因为串口通信是要选择字长为八位或者九位,进行与运算也就是前九位都保持不变。
还有一个非常重要的点就是串口发送数据是结尾必须是0x0d和0x0a,也就是 \r\n 假设我们要发送数据WSSG\r\n

刚一开始传输数据肯定是没有完成的,所以依次进入图中的序号1,2,3。在3中,将Res中的数据(DR寄存器中的数据)传输给定义的一个存储数据的一个数组USART_RX_BUF[],然后令USART_RX_STA自加一次,这样可能有点抽象,我列一个表格直观的看一下吧

下一步也就是要接受\r,也就是0x0d了。进入到这里

也就是执行这一句USART_RX_STA|=0x4000也就是和0100 0000 0000 0000 0000进行或运算,现在USART_RX_STA=4,按照十六进制也就是0100,两个进行或运算。

此时USART_RX_STA=0x4004,这时我们看一下USART_RX_STA&0x4000

也就是0x4000,就进入了这一部分


之后进行这个运算USART_RX_STA|=0x8000

得到USART_RX_STA=0xC004
同上进入主函数中的这一部分

这个时候len=USART_RX_STA&0x3fff因为前面的0x4000和0x8000都是对最高的两位进行运算,我们与0x3fff进行与运算也就将最高两位清零,得到原来的数据,如图

得到len=4

这些东西大部分都是C语言中位运算中的知识,看完之后啧啧啧 秒啊~ 也可能是我太菜了,现在才懂。。。

手把手教处理串口数据相关推荐

  1. 手把手教你捕获数据包

    原文链接:http://blog.csdn.net/piggyxp/article/details/24444 前   言 经常看到论坛有人问起关于数据包的截获.分析等问题,幸好本人也对此略有所知,也 ...

  2. 三、教你搞懂渐变堆叠面积图《手把手教你 ECharts 数据可视化详解》

    注:本系列教程需要对应 JavaScript .html.css 基础,否则将会导致阅读时困难,本教程将会从 ECharts 的官方示例出发,详解每一个示例实现,从中学习 ECharts . ECha ...

  3. 手把手教你挖掘数据:怎样创造一个“尿布与啤酒”的都市传奇?

    导读:大数据相关行业的研究者和从业者都知道这样一个"都市传奇": 美国中西部的一家连锁超市的数据挖掘团队发现,周四下午5点-7点,男人们频繁地购买尿布和啤酒.该商店将一个小的尿布陈 ...

  4. Footprint AMA实录:手把手教你分析数据看加密市场大盘

    嘉宾:Footprint CMO Jimmy | 主持人:白泽研究院-顾我 9月26日,Footprint受邀参加白泽研究院社区联合金色财经举办的AMA的活动,现在我们带领大家来回顾下Footprin ...

  5. 公交线路客流预测——手把手教你玩数据(一)

    目录 引言 背景 说明 How Do it? 看数据的容颜 了解性格 恋爱之baseline 恋爱之调优 结婚 总结 关于数据和代码 作者:徐国功 2018.9.7 转载请注明出处:https://b ...

  6. 价值十万的代码之二——手把手教你获取数据篇

    我们要利用个股研报数据,肯定是会结合个股行情数据的,所以首先要获取股票数据,本篇我跟大家分享一下我是如何获取个股行情数据的. 选定目标 现在获取股票行情数据的渠道有好多,比较正规的途径就是各种量化平台 ...

  7. android easylink 搜索设备_手把手教你将数据从Android移动到iPhone步骤与技巧

    对于刚从Android转到iPhone的用户来说,最大的担忧之一就是担心丢失所有数据.由于它们是两个截然不同的操作系统,因此在两个操作系统之间传输所有有价值的数据通常会感到很复杂.幸运的是,借助免费的 ...

  8. 独家 | 手把手教你处理数据中的缺失值

    作者:Leopold d'Avezac 翻译:廖倩颖 校对:杨毅远 本文长度为1900字,建议阅读8分钟 本文为大家介绍了数据缺失的原因以及缺失值的类型,最后列举了每一种缺失值类型的处理方法以及优缺点 ...

  9. 独家 | 手把手教你组织数据科学项目!(附代码)

    作者:kdnuggets 翻译:和中华 校对:丁楠雅 本文约4200字,建议阅读10分钟. 本文介绍了一个工具可以帮助迅速构建一个标准但灵活的数据科学项目结构,便于实施和分享数据科学工作. 由Driv ...

最新文章

  1. usaco Healthy Holsteins
  2. 【开放书】《命令行数据科学指南(第二版)》
  3. 分别用顺序表和链表实现队列
  4. 离散数学反对称关系_【离散数学】1.2&1.3集合与元素,集合与集合之间的关系...
  5. Android之常见面试题
  6. Codeforces Round #485 (Div. 2)
  7. 如何系统地自学python100天_如何系统地自学 Python?
  8. asp.net excel导入 wps_4种Excel格式的转换方法,总有一种适合你!赶紧试试看
  9. HDU2544 最短路【Dijkstra算法】
  10. [HDU3507]Print Article
  11. JAVA-Switch语句
  12. 《惢客创业日记》2020.03.16-31(周一) 国家有难,匹夫有责(三)
  13. 序列两两比对算法_学会正确选择多序列比对(coding-sequences)软件
  14. android超频闪退,显卡超频后玩游戏闪退 | 手游网游页游攻略大全
  15. Cisco ASA 9.17.1 Full ( bin, ova, qcow2, SPA, vhdx ) 下载 - 思科防火墙
  16. 中国医大CT-YOUNG 闪讯和深澜并存的验证机制研究
  17. Python之灵异事件
  18. 我跳过的坑-解决linux的输入法问题。
  19. MYSQL详解(5)-索引(一)
  20. Three.js 实时更新几何体的方法

热门文章

  1. 题解报告:hdu 1846 Brave Game(巴什博弈)
  2. RHEL 7特性说明(八):联网与认证
  3. QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection
  4. CSS cursor(鼠标状态)属性
  5. 基于海康威视IP摄像头和虹软的MFC人脸识别系统开发教程——02使用示例代码构建MFC工程(海康威视IP摄像头部分)
  6. Excel 表格中固定表头
  7. JavaScript 实现 HTMLDecode
  8. Lazy 呀!!!!!!
  9. “.CHM文件”无法打开
  10. java随机生成随机数