ch347關(guān)于spi cs設(shè)置的疑問及應(yīng)用開發(fā)手冊1.4發(fā)現(xiàn)的幾處錯誤

CH347SPI_Init()函數(shù)里可以對CS的屬性進(jìn)行設(shè)置。手冊里又提供了CH347SPI_SetChipSelect()其參數(shù)幾乎與CH347SPI_Init()函數(shù)里對CS的設(shè)置一模一樣。然后又提供了CH347SPI_ChangeCS()函數(shù)可以用于修改CS。最后在讀寫函數(shù)里又有iChipSelect 進(jìn)行片選控制。

應(yīng)用開發(fā)手冊里沒說4個地方對CS控制有什么不同,想請教下這4個使用上有什么區(qū)別


另為了搞懂這個我嘗試讀了ch347demo程序的VC代碼發(fā)現(xiàn)幾處錯誤

1)在SpilicDebug.cpp文件CH347InitSpi()函數(shù)中根據(jù)GUI界面的選項進(jìn)行初始化。其中有一行

SpiCfg.iIsAutoDeativeCS = (IsDlgButtonChecked(SpiI2cGpioDebugHwnd,IDC_AutoDeativeCS)==BST_CHECKED);

這里IDC_AutoDeativeCS 這個勾選在GUI界面上并沒有(或者放了被隱藏了,反正我是沒找到)也就是這里SpiCfg.iIsAutoDeativeCS一定是=0用戶控制不了


2)手冊對CH347SPI_SetChipSelect()函數(shù)中的iIsAutoDeativeCS參數(shù)描述

ULONG iIsAutoDeativeCS 低16 位為CS1,高16 位為CS2; 操作完成后是否自動撤消片選

demo程序SpilicDebug.cpp文件CH347SpiCsCtrl()函數(shù)里調(diào)用CH347SPI_SetChipSelect()的時候給的參數(shù)

USHORT? ? ? ? ? iIsAutoDeativeCS;? ?// 低八位為CS1,高八位為CS2;操作完成后是否自動撤消片選

這里手冊為32bit long,程序為16bit short對不上


3)同樣在SpilicDebug.cpp文件CH347SpiCsCtrl()函數(shù)里下面幾句

ULONG? ? ? ? ? ?iActiveDelay; // 低八位為CS1,高八位為CS2;設(shè)置片選后執(zhí)行讀寫操作的延時時間

ULONG? ? ? ? ? ?iDelayDeactive; // 低八位為CS1,高八位為CS2;撤消片選后執(zhí)行讀寫操作的延時時間

這里注釋不對,應(yīng)該是高16bit和底16bit分別為CS1和CS2的延遲


4)CH347SPI_SetChipSelect()函數(shù)手冊里對iEnableSelect參數(shù)的描述:

“iEnableSelect: 低八位為CS1,高八位為CS2;字節(jié)值為0= 設(shè)置CS, 為1= 忽略此CS 設(shè)置”

但在程序SpilicDebug.cpp文件CH347SpiCsCtrl()函數(shù)里看到

CS=2的時候 iEnableSelect = 0x0100; CS=1的時候iEnableSelect = 0x01;這里似乎是為1的時候設(shè)置。與手冊里描述的是反的。


最后想問下沁恒的專家我如果想將CS拉低->開始SPI操作->CS拉高 要如何弄


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

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