51单片机,通过串口助手向单片机发送字符串,单片机将字符串逆序发送回计算机,比如输入的是“abcdefg",单片机返回字符串“gfedcba ",求求大佬编一个
åè¿ç§åéå符串çï¼éè¦æä¸ä¸ªå符串ç»ææ å¿ï¼ä¸è½ç¨0ä½ä¸ºå符串ç»ææ å¿äºï¼è¿é以å车ä½0xd为ç»ææ å¿ï¼
#include <reg51.h>
typedef unsigned char uint8;
bit flag = 0;
uint8 idata buf[30];
uint8 ct;
void InitUART(void) //串å£åå§å 9600bps
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;
}
void Send(uint8 c)
{
SBUF = c;
while(!TI);
TI = 0;
}
void main(void)
{
char j;
InitUART();
while(1)
{
if(flag) //æ¯å¦æ¥æ¶å°å车 å符串åéå®
{
flag = 0;
for(j = ct ; j > 0 ; j--)
{
Send(buf[j-1]);
}
}
}
}
void UARTInterrupt(void) interrupt 4
{
static uint8 i = 0;
if(RI)
{
RI = 0;
buf[i++] = SBUF;
if(SBUF == 0x0d) //æ¥åå°å车
{
ct = i-1 ;
flag = 1;
i = 0;
}
}
else
TI = 0;
}
仿çç»æ
ç¨åºä½ä¸ºåè å¸æ ä½ èªå·±è½ç解ç¨åºï¼åªæèªå·±ææ¡äºæè½å¾å¥½å°ç¨ï¼