关于串口初始化问题,有点奇怪。。。。
本人用52单片机写了个程序,在KEIL里仿真出现了问题:
#include <reg52.h>
#include <math.h>
#include <stdio.h>
#define uchar unsigned char
void seri_init()
{
TMOD|=0x20;
SCON=0x50;
TH1=0xFA;
TL1=0xFA;
TR1=1;
TI=1;
}
main()
{
seri_init();
uchar c[]={"welcome to china "};
float a,b;
a=1.2;
b=cos(a);
printf("%s",*c[0]);
}
编译时出现了7个错误提示;
把程序稍为改一下,又没问题了:
#include <reg52.h>
#include <math.h>
#include <stdio.h>
#define uchar unsigned char
void seri_init()
{
TMOD|=0x20;
SCON=0x50;
TH1=0xFA;
TL1=0xFA;
TR1=1;
TI=1;
}
main()
{
uchar c[]={"welcome to china "};
float a,b;
a=1.2;
b=cos(a);
seri_init();
printf("%s",*c[0]);
}
请问各位大侠,这是什么原因呢???(seri_init();的位置变了一下)