欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3681|回復: 5
收起左側

單片機uart和spi同時使用的問題

[復制鏈接]
ID:645543 發表于 2020-7-5 19:33 | 顯示全部樓層 |閱讀模式
rc522的spi初始化 (使用的是定時計數器T1)
    TMOD = 0x21;                // T1設置為8位自動重裝載定時器                        
    SCON = 0x50;                // 串口工作在模式1:8位UART波特率可變,且禁止接收(0x40)
    TH1 = 0xE8;                        // 單片機小精靈V1.3算出的2400波特率且波特率  11.0592MHZ
    TL1 = TH1;                        // 加倍時的定時器設置值。
    PCON = 0x80;                // 設置為波特率加倍
    EA = 1;                                // 開總中斷
    //ES = 1;                            // 開串口中斷
   TR1 = 1;                    // 定時器1開啟計數
rc522的程序已經調試好了,as608指紋模塊的程序也調試好了,但是兩個合并起來就出問題。
在rc522的程序上添加as608的初始化(使用的是定時計數器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;
添進去rc522的串口就不正常了,讀取的內容就不對,本來是四位,現在只讀出來一位,內容還不對。
感覺是這兩個初始化會沖突,各位幫看看吧。

回復

使用道具 舉報

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

使用道具 舉報

ID:636538 發表于 2020-7-6 09:04 | 顯示全部樓層
//ES = 1;                            // 開串口中斷為什么屏蔽串口中斷,為什么TMOD=0X21,定時器0用來做什么了。寫了定時器0,為什么沒有相關的設置,這么看你的初始化設置,沒什么大問題,但是其他不好說,
你單獨使用定時器2調試過嗎
回復

使用道具 舉報

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

T0給按鍵做中斷了,T1和T2沒有用中斷,直接把子程序放在while1里了
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表