- 串口无法返还中文,会显示空的片段啥也没有,同时无法完成点灯
#include <REGX52.H>
#include "Delay.h"
#include "UART.h"
unsigned char receivedData;
void send_string(char *s)
{
while (*s!='\0')
{
UART_SendByte(*s);
s++;
}
}
void main()
{
UART_Init();
UART_SendByte(10);
while(1)
{
}
}
void UART_Routine() interrupt 4
{
if(RI==1)
{
RI=0;
receivedData=SBUF;
switch (receivedData) {
case '1':
P2_0 = 0;
send_string("已点亮第1个灯");
UART_SendByte(10);
break;
case '2':
P2_1 = 1;
send_string("已点亮第2个灯");
UART_SendByte(10);
break;
case '3':
P2_2 = 0;
send_string("已点亮第3个灯");
UART_SendByte(10);
break;
case '4':
P2_3 = 1;
send_string("已点亮第4个灯");
UART_SendByte(10);
break;
case '5':
P2_4 = 1;
send_string("已点亮第5个灯");
UART_SendByte(10);
break;
case '6':
P2_5 = 1;
send_string("已点亮第6个灯");
UART_SendByte(10);
break;
case '7':
P2_6 = 1;
send_string("已点亮第7个灯");
UART_SendByte(10);
break;
case '8':
P2_7 = 1;
send_string("已点亮第8个灯");
UART_SendByte(10);
break;
}
}
以上是我的解答思路,刚学习这块,弄了好久也不会发送中文给电脑,已经将两边都改成utf8编码了
用的是51单片机89c52系列,keil5软件 串口助手用的是uart assist