標(biāo)題: IAP15F2K60S2單片機(jī)無法正常與AS608通信是什么情況? [打印本頁]

作者: user-name    時(shí)間: 2023-5-17 19:53
標(biāo)題: IAP15F2K60S2單片機(jī)無法正常與AS608通信是什么情況?
一開始是在普中的開發(fā)板上,AS608用stc89c52的P3.0和P3.1接口運(yùn)行良好;
換到STC15F2K60S2上就不行了,一直出錯(cuò),在LCD1602上顯示  "Docking  failure"
也同樣用的是P3.0和P3.1
對(duì)串口的配置也沒變,上位機(jī)也將波特率調(diào)在9600,
源碼對(duì)串口配置大概是這樣的:
SCON=0x50;   //UART 方式1:8位UART;     REN = 1:允許接收
PCON=0x00;   //SMOD = 0:波特率不加倍

TMOD=0x20;   // T1方式2,用于UART波特率
    TH1=0xFD;
    TL1=0xFD;   //UART波特率設(shè)置:FDFD,9600;FFFF,57600
    TR1=1;         //允許T1計(jì)數(shù)
    EA=1;
        ES=1;



試了很多次,包括讓PCON&=0x7F;   添加   ET1 = 0;  還是不行,一直顯示"Docking  failure"

作者: yzwzfyz    時(shí)間: 2023-5-18 11:11
原因是:你沒有讀通兩種CPU的說明書,更不知道兩者的區(qū)別,對(duì)通訊的原理也不清楚。
要想真正搞懂,補(bǔ)上述課程。
作者: csmyldl    時(shí)間: 2023-5-18 13:28
IAP15F2K61S2的波特率設(shè)置方式不一樣,如用T2作波特率發(fā)生器,設(shè)置9600bps如下:
        SCON = 0x50;                //8位數(shù)據(jù),可變波特率
        AUXR |= 0x01;                //串口1選擇定時(shí)器2為波特率發(fā)生器
        AUXR |= 0x04;                //定時(shí)器時(shí)鐘1T模式
        T2L = 0xE0;                //設(shè)置定時(shí)初始值
        T2H = 0xFE;                //設(shè)置定時(shí)初始值
        AUXR |= 0x10;                //定時(shí)器2開始計(jì)時(shí)




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