求助,CH368 SPI問題

SPI困擾我很久了,之前實現(xiàn)了368芯片8位數(shù)據(jù)的正常發(fā)送,但是目前需要16位數(shù)據(jù)。通過調(diào)用一次函數(shù)發(fā)送兩個字節(jié)和調(diào)用兩次函數(shù)發(fā)送兩次字節(jié),都有點問題。接收數(shù)據(jù)采用單片機(jī)SPI接收,已經(jīng)通過自發(fā)自收測試。問題如下圖:

難道buffer是全局變量嗎 應(yīng)該每次都會初始化一次吧

icon_jpg.gif20220512180635 - 副本.png


好像圖片不能放大

tws.PNG


之前還試過unsigned int型,直接buffer存u16 也是不行


您好,如上代碼沒有問題的,使用SPI通訊接口CH367StreamSPI實現(xiàn)單字節(jié)多次寫入,或一次寫入多字節(jié)均可以。需要注意的是芯片支持3線和4線SPI,若使用4線SPI需要通過SetStream函數(shù)做下設(shè)定。此外,也可以嘗試使用15.6MHz時鐘測試,避免單片機(jī)來不及通訊。

若仍不能解決問題,可使用硬件儀器如示波器或邏輯分析儀監(jiān)控下SPI通道數(shù)據(jù)。


好的 目前是使用的3線模式 15.6Mhz,用邏輯分析儀看看還是方便;看表面原因像是上次發(fā)送的數(shù)據(jù)沒讀完,導(dǎo)致錯位??赡苁俏矣弥袛嘟邮盏脑虬?,,不過你們要是有單片機(jī)通信的例子就更好了,哈哈


您好,可以用邏輯分析儀抓取下數(shù)據(jù),如果是中斷接收,先盡量避免中斷函數(shù)中處理過多的任務(wù)導(dǎo)致MCU來不及接收。


icon_jpg.gif3s.PNG?

icon_jpg.gif批注 2022-05-18 135247.jpg

icon_jpg.gif批注 2022-05-18 135343.jpg

調(diào)用 buffer[0] = 0x3b;? CH367StreamSPI(mIndex, 0x01, buffer, NULL, NULL) ;發(fā)現(xiàn)

每次會發(fā)送兩個字節(jié)的clk信號,很奇怪呀。調(diào)用兩次這個函數(shù)就會4個clk。讀取數(shù)據(jù)容易重復(fù)。如果?CH367StreamSPI(mIndex, 0x02, buffer, NULL, NULL) ;每次發(fā)送連個字節(jié),就會時候到3個字節(jié)的clk? 還是容易錯位。3線模式和4線模式都測試了。


您好,請查看下您當(dāng)前使用的驅(qū)動和EVT資料是否為最新版本,若仍有問題可直接電聯(lián)我們溝通。

驅(qū)動鏈接:http://www.findthetime.net/downloads/CH367DRV_EXE.html?

EVT鏈接:http://www.findthetime.net/downloads/CH367EVT_ZIP.html?


您好,四線制八位收發(fā)您是怎么實現(xiàn)的?


您好,四線制八位收發(fā)您是怎么實現(xiàn)的?


您好,

1、CH368的SPI支持使用3線和4線,使用3線時數(shù)據(jù)腳使用SDX,使用4線時MOSI為SDX,MISO為ADDR腳;

2、啟用4線制收發(fā),需要應(yīng)用層軟件調(diào)用設(shè)置4線的接口函數(shù),即iMode參數(shù)的BIT1代表4線制,請知悉。


BOOL ? ?WINAPI ?CH367SetStream( ?// 設(shè)置串口流模式

? ? ULONG ? ? ? ? ? iIndex, ? ? ?// 指定CH367設(shè)備序號

? ? ULONG ? ? ? ? ? iMode ) ? ? // 指定模式,見下行

// 位0: ? ? SPI時鐘頻率,0=31.3MHZ,1=15.6MHZ

// 位1: ? ? SPI的I/O數(shù)/IO引腳, 0=SPI3(SCS/SCL/SDX),1=SPI4(SCS/SCL/SDX/SDI)

// 其它保留,必須為0



只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频