求单片机串口中断接收程序,急求!~~~

接受上位机通过串口传过来的汉字转化成的点阵数据,然后通过4片74HC595发送显示在一块16x16点阵屏上。“如何将数据全部接受进来,然后再显示”???... 接受上位机通过串口传过来的汉字转化成的点阵数据,然后通过4片74HC595发送显示在一块16x16点阵屏上。
“如何将数据全部接受进来,然后再显示”???
展开
 我来答
百度网友5ffd0d3
2015-06-10 · TA获得超过717个赞
知道小有建树答主
回答量:386
采纳率:100%
帮助的人:241万
展开全部
快下班了,给你一个思维吧
声明一个数组来缓存数据,声明一个变量来顺序接收,在声明一个定时器中断变量来判断一帧数据是否接收完成.
unsigned char ucUartRecv_Arr[256];
unsigned char ucUartRecv_Cnt = 0; //顺序接收数据
unsigned char ucTimer0_Cnt = 0; //定时器1MS计数
unsigned char ucUartRecv_Flag = 0; //接收完成标志
void 定时器 1MS中断()
{
if(ucUartRecv_Flag != 0)
{
ucUartRecv_Flag --;
if(ucUartRecv_Flag == 0)
{
ucUartRecv_Flag = 1; //一帧数据接收完成标志
}
}
}
void 接收中断函数()
{
ucUartRecv_Flag = 3; //3MS 就说明接收完成
ucUartRecv_Arr[ucUartRecv_Cnt] = SBUF; //51为例
ucUartRecv++;

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式