/************************************************************************** 功能:51单片机的串口发送字符串 参数:s:指向字符串的指针 注:如果在字符串中有'\n',则会发送一个回车换行 **************************************************************************/ void UART_Send_Str(char *s) { unsigned int i; unsigned int len=strlen(s)-1; // 最后一个字符单独处理 for(i=0;i<len;i++) UART_Send_Byte(s[i]); // while (*buf != '\0') UART_Send_Byte(*s++); if(s[i]=='\n') { UART_Send_Enter(); } else { UART_Send_Byte(s[i]); // 普通字符正常发送 } }
/************************************************************************** 功能:51单片机的串口发送调试信息(二进制数据显示) 参数:dat:需要按2进制形式显示变量 **************************************************************************/ void UART_Send_binary(unsigned char dat) { unsigned char i; unsigned char a[17]; for(i=0;i<8;i++) { a[i]=((dat<<i)&0x80)?'1':'0'; } a[i]=0; for(i=0;i<strlen(a);i++) { UART_Send_Byte(a[i]); UART_Send_Byte(' '); } UART_Send_Enter(); // 发送回车 }
/************************************************************************** 功能:STC15单片机的串口发送0d 0a ,即回车换行 注:此函数就是发送0d 0a这两个字节,在"串口助手"上会有回车换行的效果 **************************************************************************/ void UART_Send_Enter() { UART_Send_Byte(0x0d); // 转义字符常量\r,ASCII码值(10进制)=13,光标移到本行行首 UART_Send_Byte(0x0a); // 转义字符常量\n,ASCII码值(10进制)=10,光标移到下行行首 }
// ************************************************************************************************* // @fn UART_Send_Data // @brief Send string over UART // @param const char str String to send // @return none // ************************************************************************************************* void UART_Send_Data(const char *str) { while (*str) UART_Send_Byte(*str++); }