1、关于树莓派的通信,网上教程也是很多的,我们都知道发的数据是bytes类型的二进制数据,到51板接收是需要数据类型转换的然后进行判断,如果没有led显示屏会比较麻烦。
2、树莓派部分查看这个教程就行,亲测有效
树莓派通信教程
本人部分代码段参考
key = '1'
ser.write(key.encode())
输出的是b'1'
3、关于51板的代码先给出各位
#include <AT89X52.H>
typedef unsigned int u16;
typedef unsigned char u8;
//波特率4800
void UsartInit()
{
SCON=0X50;
TMOD=0X20;
PCON=0X80;
TH1=0XF3;
TL1=0XF3;
EA=1;
ES=1;
TR1=1;
}
void main()
{
UsartInit();
while(1);
}
void Usart() interrupt 4
{
u8 rec;
int a;
if(RI)
{
RI=0;
rec=SBUF;
a = (int)rec;
}
if(a==145)
{
SBUF=a;
}
if(a==144)
{
SBUF=a;
}
if(TI)
TI=0;
}
解释:51这边的数据强制转换为了整形,145对应的是树莓派那边的数字1,144对应的是0,其他依次类推即可实现。
记得关注点赞,谢谢支持!!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)