標(biāo)題: GSM模塊發(fā)送密碼是亂碼 [打印本頁]

作者: 2248373991    時間: 2022-5-3 12:09
標(biāo)題: GSM模塊發(fā)送密碼是亂碼
需要全部程序我在發(fā)出來,程序有點多
uchar genPasswd[4];           //存儲生成的四位隨機(jī)數(shù)密碼
uchar inpPasswd[4];           //存儲取包時輸入的四位密碼


void Init_Timer()
{
    PCON=0x00;         
    SCON=0x50;         
    TMOD=0x21;         
    TL0 =0x00;
    TH0 =0x4C;
    TL1 =0xfd;   
    TH1 =0xfd;
    TR0 =1;
    TR1 =1;
    ET0 =1;
    ES  =1;
    EA  =1;
}


Print_Str("Meal code:");//短信內(nèi)容               
        for(i=0;i<4;i++)
        {
                Print_Char(genPasswd[i]);        //四位驗證碼
        }

passwd = TL0;  //采用定時器寄存器的值作為密碼
                                        genPasswd[0] = passwd/100;                  //存儲密碼
                                        genPasswd[1] = passwd%100/10;
                                        genPasswd[2] = passwd%10;
                                        genPasswd[3] = (genPasswd[1]+genPasswd[2])%10;




51hei圖片_20220503115956.jpg (133.25 KB, 下載次數(shù): 41)

51hei圖片_20220503115956.jpg

作者: zrqlllllly    時間: 2022-5-3 14:16
可能串口波特率設(shè)置的問題吧
作者: zrqlllllly    時間: 2022-5-3 14:21
可能是波特率的問題
作者: wufa1986    時間: 2022-5-3 16:16
要轉(zhuǎn)成字符串,很明顯你沒有這一步
作者: lkc8210    時間: 2022-5-3 17:10
試試
Print_Char(genPasswd[ i] + '0');
作者: Hephaestus    時間: 2022-5-3 19:41
genPasswd[0] = passwd/100+'0';
后面幾句以此類推。
作者: 2248373991    時間: 2022-5-3 23:29
粗線第一列,就是這個

20200907221050939.png (162.28 KB, 下載次數(shù): 46)

20200907221050939.png

作者: 2248373991    時間: 2022-5-4 09:24
lkc8210 發(fā)表于 2022-5-3 17:10
試試
Print_Char(genPasswd[ i] + '0');

OK,實現(xiàn)了。太謝謝了
作者: 2248373991    時間: 2022-5-4 09:25
Hephaestus 發(fā)表于 2022-5-3 19:41
genPasswd[0] = passwd/100+'0';
后面幾句以此類推。

這樣的話,密碼變成英文了,上面那位老哥是對的,不過還是謝謝回答我的問題
作者: S.T.A.L.K.E.R.    時間: 2022-5-4 10:30
這不是波特率問題,發(fā)的是數(shù)據(jù)而不是字符,短信那邊顯示的應(yīng)該是字符,按照ASCII碼對應(yīng)的。改的話后面+‘0‘就行了




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