標(biāo)題: 求助 有一段程序不能逆序輸出字符串 請大佬幫忙看一下 [打印本頁]

作者: lhhstc    時間: 2023-1-11 11:45
標(biāo)題: 求助 有一段程序不能逆序輸出字符串 請大佬幫忙看一下
#include <REGX52.H>
#include "UART.h"


unsigned char Flag=0;
unsigned char Data[30];
unsigned char Num=0;

void main()
{
        char k=0;
        UART_Init();
        while(1)
        {
                if(Flag==1)
                {
                        Flag=0;
                        for(k=Num;k>0;k--)
                        {
                                UART_SendByte(Data[k-1]);
                        }
                }
        }
}
void UART_Routine() interrupt 4
{
        unsigned char i=0;
        if(RI==1)
        {
                RI=0;
                Data[i]=SBUF;
                i++;
                if(SBUF==' ')
                {
                        Flag=1;
                        Num=i-1;
                        i=0;
                }
                else{TI=0;}
        }
}
作者: lkc8210    時間: 2023-1-11 13:36


作者: 明記冷氣    時間: 2023-1-11 16:21
lkc8210 發(fā)表于 2023-1-11 13:36

不認(rèn)真看 還真沒發(fā)現(xiàn)    ,每次進(jìn)入中斷 i都被重置 ,這個static 加的剛剛好, i要么定義在函數(shù)外面 要么加static靜態(tài)
作者: lhhstc    時間: 2023-1-11 18:22
lkc8210 發(fā)表于 2023-1-11 13:36

謝謝大佬 可是改完之后只能收到兩個字母是怎么回事捏
作者: 明記冷氣    時間: 2023-1-11 19:54
lhhstc 發(fā)表于 2023-1-11 18:22
謝謝大佬 可是改完之后只能收到兩個字母是怎么回事捏


4.png (10.23 KB, 下載次數(shù): 34)

4.png

作者: 明記冷氣    時間: 2023-1-11 20:04


作者: 人中狼    時間: 2023-1-11 20:21
程序不完整,而且似乎代碼結(jié)構(gòu)也有問題
作者: lhhstc    時間: 2023-1-12 09:59
明記冷氣 發(fā)表于 2023-1-11 20:04

把TI=0加入到主函數(shù)的for循環(huán)里就實現(xiàn)字符串逆序了 謝謝大佬指點
作者: lhhstc    時間: 2023-1-12 10:00
人中狼 發(fā)表于 2023-1-11 20:21
程序不完整,而且似乎代碼結(jié)構(gòu)也有問題

沒戳 確實是代碼結(jié)構(gòu)的問題 把TI=0放到for循環(huán)里就好了 謝謝啦




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1