博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C ~ 一个串口接收思路
阅读量:6965 次
发布时间:2019-06-27

本文共 1351 字,大约阅读时间需要 4 分钟。

void uart_rx_isr(void) //接收中断函数{        uchar c;               c=SBUF;//c等于接收的字节;        switch (recv_state)        {                case 0:                if (c==0x02) // 是数组第一字节                {                        recv_state=1; // 进入下一个状态                }                else                        recv_state=0; // 回到初始状态                break;                               case 1:                if (c!=0xff)  // 是数组第二字节          拢共 3位数据  中间这位 为数据位 就不进行校验判断了                {                        recv_state=2; // 进入下一个状态                        Rx_Data=SBUF;  //把 这个数据 纪录下来 作为 后面的判断                }                else                {                        recv_state=0; // 回到初始状态                }                break;                               case 2:                if (c==0x03)   // 是数组第三字节                {                        // recv_state=3; // 进入下一个状态                          Flag=1;                        recv_state=0; // 回到初始状态                 }                else                {                        recv_state=0; // 回到初始状态                }                break;        }}void UART_interrupt() interrupt 4{        if(RI==1)//如果接收了数据(RI会置1)        {                RI=0; //先清零,下次可以在接收数据                uart_rx_isr();         //调用数据判断这个函数        }       }

 

转载于:https://www.cnblogs.com/einstein-2014731/p/4497379.html

你可能感兴趣的文章
配置https服务器系列之一:自制ca证书并配置到nodejs-express服务器
查看>>
poj3625 最小生成树 Prim
查看>>
C# 无法将类型为“__DynamicallyInvokableAttribute”的对象强制转换为类型...
查看>>
C# WinForm 技巧十: winfrom 全屏自适应屏幕分辨率
查看>>
js截取字符串substr和substring的区别
查看>>
响应式调研资料
查看>>
Jenkins 修改主目录正解 workspace
查看>>
set git p4merge tool
查看>>
Using SetAdded and SetModified to Change RowState
查看>>
[Google Guava] 3-缓存
查看>>
php的几种运行模式
查看>>
Python 爬虫:煎蛋网妹子图
查看>>
vim常用命令
查看>>
021、镜像小结(2019-01-14 周一)
查看>>
VS CODE 快捷键
查看>>
一只老鼠夹
查看>>
苹果新的编程语言 Swift 语言进阶(一)--综述
查看>>
windows7 修改环境变量 和 用不用重启电脑的讨论
查看>>
我的第一篇paper
查看>>
分页查询
查看>>