这个我是放在一个uart.c的子程序里面的,如果要在main.c主程序里该如何调用recive[]这个字符串?
追答全局变量就可以了。
追问在main.c也这样?
#define uchar unsigned char
uchar recive[];
我全局变量的话,从PC上发过来,再经单片机发回去串口调试助手上就显示乱码了,数据不对啊
这个问题比较综合,显示乱码有多种原因,为了验证,你可以直接给数组赋值发给单片机试试效果。
本回答被提问者采纳这样又没有字符串
追答这是判断结束的。
保存的话,肯定要一个数组。
if(RI==1)
{
RI=0;
recive[CNT++]=SBUF;
if(SBUF=='#')
{
flag_end=1; ///接收结束
}
}
楼下的程序我全局变量的话,从PC上发过来,再经单片机发回去串口调试助手上就显示乱码了,数据不对啊
追答串口助手和单片机这边是不是波特率不同啊?
追问相同的,现在没有问题了