找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3339|回復(fù): 5
收起左側(cè)

單片機(jī)uart和spi同時(shí)使用的問(wèn)題

[復(fù)制鏈接]
ID:645543 發(fā)表于 2020-7-5 19:33 | 顯示全部樓層 |閱讀模式
rc522的spi初始化 (使用的是定時(shí)計(jì)數(shù)器T1)
    TMOD = 0x21;                // T1設(shè)置為8位自動(dòng)重裝載定時(shí)器                        
    SCON = 0x50;                // 串口工作在模式1:8位UART波特率可變,且禁止接收(0x40)
    TH1 = 0xE8;                        // 單片機(jī)小精靈V1.3算出的2400波特率且波特率  11.0592MHZ
    TL1 = TH1;                        // 加倍時(shí)的定時(shí)器設(shè)置值。
    PCON = 0x80;                // 設(shè)置為波特率加倍
    EA = 1;                                // 開(kāi)總中斷
    //ES = 1;                            // 開(kāi)串口中斷
   TR1 = 1;                    // 定時(shí)器1開(kāi)啟計(jì)數(shù)
rc522的程序已經(jīng)調(diào)試好了,as608指紋模塊的程序也調(diào)試好了,但是兩個(gè)合并起來(lái)就出問(wèn)題。
在rc522的程序上添加as608的初始化(使用的是定時(shí)計(jì)數(shù)器T2)
    //SCON=0x50;   //UART方式1:8位UART;   REN=1:允許接收
    T2CON=0x30;   //SMOD=0:波特率不加倍  
    TH2=0xFF;
    TL2=0xDC;        
    RCAP2H=TH2;
    RCAP2L=TL2;
    //  EA=1;
    TR2=1;
添進(jìn)去rc522的串口就不正常了,讀取的內(nèi)容就不對(duì),本來(lái)是四位,現(xiàn)在只讀出來(lái)一位,內(nèi)容還不對(duì)。
感覺(jué)是這兩個(gè)初始化會(huì)沖突,各位幫看看吧。

回復(fù)

使用道具 舉報(bào)

ID:645543 發(fā)表于 2020-7-7 16:32 | 顯示全部樓層
本來(lái)是rfid波特率2400,指紋9600合并起來(lái)不能用,后來(lái)我把rfid也改成9600就能用了
回復(fù)

使用道具 舉報(bào)

ID:799069 發(fā)表于 2020-7-7 16:23 | 顯示全部樓層
用89c52分別接了rc522射頻識(shí)別模塊和as608指紋識(shí)別模塊,射頻用的是p2口spi通信,指紋用的p30和p31的uart通信。兩個(gè)模塊獨(dú)立的時(shí)候調(diào)試都好了,但是兩個(gè)模塊放到一起,就不行,不知道是不是89c52同時(shí)用spi和uart會(huì)有沖突。
回復(fù)

使用道具 舉報(bào)

ID:645543 發(fā)表于 2020-7-6 10:34 | 顯示全部樓層
SKYLAR123 發(fā)表于 2020-7-6 09:04
//ES = 1;                            // 開(kāi)串口中斷為什么屏蔽串口中斷,為什么TMOD=0X21,定時(shí)器0用來(lái)做 ...

T0給按鍵做中斷了,T1和T2沒(méi)有用中斷,直接把子程序放在while1里了
回復(fù)

使用道具 舉報(bào)

ID:636538 發(fā)表于 2020-7-6 09:04 | 顯示全部樓層
//ES = 1;                            // 開(kāi)串口中斷為什么屏蔽串口中斷,為什么TMOD=0X21,定時(shí)器0用來(lái)做什么了。寫(xiě)了定時(shí)器0,為什么沒(méi)有相關(guān)的設(shè)置,這么看你的初始化設(shè)置,沒(méi)什么大問(wèn)題,但是其他不好說(shuō),
你單獨(dú)使用定時(shí)器2調(diào)試過(guò)嗎
回復(fù)

使用道具 舉報(bào)

ID:764088 發(fā)表于 2020-7-6 08:42 | 顯示全部樓層
SPI uart 都是串行慢速通訊,盡量用中斷或DMA來(lái)接收數(shù)據(jù),注意不要在中斷中處理接收數(shù)據(jù),放在緩沖區(qū)中,空閑時(shí)處理解析。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表