1:
/**************************************************************************
/º¯ÊýÃû³Æ:SendToComport
/Èë¿Ú²ÎÊý:BYTE d
/³ö¿Ú²ÎÊý:none
/º¯Êý¹¦ÄÜ:Íù´®¿Ú·¢ËÍÒ»×Ö½ÚÊý¾Ý
/
***************************************************************************/
void SendToComport(uint8 d)
{
#if 1 //pic
while(PIR1bits.TXIF==0);
TXREG=d;
#else //51
sending=1;
TXREG=d;
while(sending);
#endif
}
/**************************************************************************
//º¯ÊýÃû³Æ:prints
/Èë¿Ú²ÎÊý:uint8 * pd,uint8 line_feed
/³ö¿Ú²ÎÊý:none
/º¯Êý¹¦ÄÜ:·¢ËÍÒ»¸ö×Ö·û´®
/
***************************************************************************/
void Prints(uint8 *pd,uint8 line_feed)
{
while((*pd)!='\0')
{
SendToComport(*pd);
pd++;
}
if(line_feed)
{
SendToComport('\r');
SendToComport('\n');
}
}
以上为我打印 字符串函数,简单方便,又好懂,我一直用它;
可我放在pic用,麻烦就来了;
所以只有这样写;
void putsUSART(char *s)
{
while(*s) {
while(!TXSTAbits.TRMT);
TXREG = *s++;
}
}
sprintf(temp, "Test psp joystick\r\n");
putsUSART(temp);
不知道什么原因????
高手指点一二,谢谢! |