OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4869|回复: 4

串口如何接受数据:AA 79 00 01 CC 33 C3 3C,并判断 01这个数据

[复制链接]

10

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-11-26
在线时间
0 小时
发表于 2013-12-18 16:10:11 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2013-4-20
在线时间
4 小时
发表于 2013-12-18 16:34:06 | 显示全部楼层
void USART3_IRQHandler(void)
{
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
u8 u8Char = '\0';

if(USART_GetFlagStatus(USART3, USART_FLAG_ORE) != RESET)
{
USART_ClearFlag(USART3, USART_FLAG_ORE);
u8Char = USART_ReceiveData(USART3);
}

if(USART_GetITStatus(USART3, USART_IT_RXNE) == SET)
{
u8Char = USART_ReceiveData(USART3);
USART_ClearITPendingBit(USART3, USART_IT_RXNE);
}

if(COM_HEADER != u8Char)
{
if(COM_END1 != u8Char)
{
GLOBAL_g_xMsg.acMessage[GLOBAL_g_xMsg.u8Column++] = u8Char;
}
else
{
GLOBAL_g_xMsg.acMessage[GLOBAL_g_xMsg.u8Column] = u8Char;
if(COM_END2 == GLOBAL_g_xMsg.acMessage[GLOBAL_g_xMsg.u8Column - 1])
{
if(GLOBAL_g_xMsg.acMessage[1] == 0x9B && GLOBAL_g_xMsg.acMessage[4] > 0 && GLOBAL_g_xMsg.acMessage[4] <= 0x12)
{
GLOBAL_g_xCurrentTime.u8Year = BCDtoDEC(GLOBAL_g_xMsg.acMessage[3]);
GLOBAL_g_xCurrentTime.u8Month = BCDtoDEC(GLOBAL_g_xMsg.acMessage[4]);
GLOBAL_g_xCurrentTime.u8Day = BCDtoDEC(GLOBAL_g_xMsg.acMessage[5]);
GLOBAL_g_xCurrentTime.u8Hour = BCDtoDEC(GLOBAL_g_xMsg.acMessage[7]);
GLOBAL_g_xCurrentTime.u8Minute = BCDtoDEC(GLOBAL_g_xMsg.acMessage[8]);
GLOBAL_g_xCurrentTime.u8Second = BCDtoDEC(GLOBAL_g_xMsg.acMessage[9]);
}
else
{
xSemaphoreGiveFromISR(GLOBAL_g_xUsart3Smp, &xHigherPriorityTaskWoken);
}
}
}
}
else
{
memset((void *)&GLOBAL_g_xMsg, (int) 0, sizeof(S_COMMessage));
GLOBAL_g_xMsg.acMessage[GLOBAL_g_xMsg.u8Column++] = u8Char;
}

portEND_SWITCHING_ISR(xHigherPriorityTaskWoken);
}
迪文的吧,正好手上有一点干货
回复 支持 反对

使用道具 举报

10

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-11-26
在线时间
0 小时
 楼主| 发表于 2013-12-18 16:36:01 | 显示全部楼层
是的,在研究迪文的串口屏,感谢了。请多指教
回复 支持 反对

使用道具 举报

10

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-11-26
在线时间
0 小时
 楼主| 发表于 2013-12-18 16:40:15 | 显示全部楼层
如果判定4位是01,那么点亮一个灯。也是在串口中断吧,你的程序我好好学习一下。
回复 支持 反对

使用道具 举报

10

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-11-26
在线时间
0 小时
 楼主| 发表于 2013-12-19 21:08:39 | 显示全部楼层
谁还有程序呢?指点一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 17:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表