搞定单片机多字节串口接收
时间:11-19
来源:互联网
点击:
。要是能有4bit在一起的数据类型就好了,,verilog代码里面是可以的,C语言里貌似不行埃
要想能在例如51单片机上运行,只能按照下面的折中方式了,也就是把i相关的量都与一个0x0f
全局变量
bit ret_flag;
unsigned char receive[16]={0};// 可以考虑在定义时加上idata,毕竟还可能是32
//或者64长度的数组呢unsigned char idata receive[16]={0};
unsigned char boardaddress;
中断函数
void ser()interrupt 4
{
static unsigned char i=0;
static unsigned char total=0;
RI=0;
receive[i&0x0f]=SBUF;
total=total-receive[(i-7)&0x0f]+receive[(i-1)&0x0f];
if(receive[(i-9)&0x0f]==0xaa&&receive[(i-8)&0x0f]==0x55
&&receive[(i-7)&0x0f]==boardaddress&&receive[i&0x0f]==total
)
{
ret_flag=1;
ES = 0;
}
i++;
}
这样就可以了。等我有机会试一下吧,。我写了这么多,想必大家都能搞定串口接收了吧。
单片机多字节串口接 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)