单片机之串口数据处理
时间:11-10
来源:互联网
点击:
- u8 AU_Buf[AU_BUF_ZISE] = {0};
- DF_RCV AU_Rvc = {0, 0,AU_BUF_ZISE,AU_Buf};
本函数把串口数据放入缓冲区中,此函数必须在串口中断中调用。
- /**************************************************************************************
- * FunctionName : AURcvDat()
- * Description : 串口数据接收(串口中断服务调用)
- * EntryParameter : None
- * ReturnValue : None
- **************************************************************************************/
- void AURcvDat(u8 dat)
- {
- DFWriteByte(dat, &AU_Rvc);
- }
本函数判断缓冲区中是否有数据,如果有,逐个读取并处理。
- /**************************************************************************************
- * FunctionName : AUTaskCtrl()
- * Description : 通信数据处理
- * EntryParameter : None
- * ReturnValue : None
- **************************************************************************************/
- void AUTaskCtrl(void)
- {
- u8tmpDat;
- u16 i, len = 0;
- static u8 sendMark = 0;
- len = DFGetLen(&AU_Rvc); // 获取未读数据长度
- for (i=0; i < len; i++)
- {
- tmpDat = DFReadByte(&AU_Rvc); // 读一字节数据
- AU_PrcRcvDat(tmpDat);
- }
- }
函数AU_PrcRcvDat(tmpDat)是数据处理函数,首先是数据帧判断,如果是一帧数据,就进行相应操作,并把操作结果返回。了解了这个过程,串口的编程就变得非常简单。而且我们在读程序时,只要看懂一个串口处理过程,其他串口的程序就自然懂了,非常方便吧。
单片机串口数据处 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)