我在例子程序当中见到了许多print语句,请问,具体怎么能实现它,我用keilc编译程序,加了头文件stdio.h,还是不行啊
设置串口波特率。 还有 TI=1;
是printf 不是print,它在CX51的标准库函数中,在stdio.h声明
声明 后就会从串口打出数据吗?必须用串口1才行吗?我的CPU有串口2,我用串口连接PC了,不知道可不可以用printf呢?我的意思是加了stdio.h头文件,就能直接用了吗?我的CPU是8032内核的
想用串口2你可以修改putchar函数
******************************************************************************/ 你可以修改Uart_SendByte函数.我用的是ads1.2,但原理差不多. void Uart_SendByte( char data ) { if(whichUart==0) { if(data=='\n') { while(!(rUTRSTAT0 & 0x2)); Delay(10); //because the slow response of hyper_terminal WrUTXH0('\r'); } while(!(rUTRSTAT0 & 0x2)); //Wait until THR is empty. Delay(10); WrUTXH0(data); } else { if(data=='\n') { while(!(rUTRSTAT1 & 0x2)); Delay(10); //because the slow response of hyper_terminal rUTXH1='\r'; } while(!(rUTRSTAT1 & 0x2)); //Wait until THR is empty. Delay(10); rUTXH1=data; } }
//***************************************************************************** void Uart_SendString(char *pt) { while(*pt) Uart_SendByte(*pt++); }
/****************************************************************************** void Printf(char *fmt,...) { va_list ap; char string[256];
va_start(ap,fmt); vsprintf(string,fmt,ap); Uart_SendString(string); va_end(ap); }