
程序没有问题,是因为发送的num1在0-255之间,而用串口调试助手的字符显示方式不是全部都能显示出来的,有一部分就是显示乱码的,而显示十六进制数就没有问题了。
很明显1T=24.3H=35 Z=02T=25.3H=34 Z=03T=22.7H=36 Z=02T=25.2H=33 Z=0不是用“,”来分割的str.split(","),很显然什么也得不到
void delayms(uint xms)为延时函数void init() 为串口初始化
void display(uchar value) 为显示程序子函数
uchar get_ad()ad接收子程序
void ser()interrupt 4 为中断接收函数,当接到数据是1,则
flag_on=0如果是2则
flag_on=1
否则
flag_on=2
void timer0()interrupt 1为定时器中断函数,做1秒将flag_time置1
void main()为主函数
当有串口数据发来,进行判断,做下回传显示,然后中断中定时1秒左右启动下ad,将采集数据送串口,同时在不停地进行显示数据
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)