有CH341的庫嗎,可以給我發(fā)一份嗎

?

?


您好,若您這邊操作DLL仍有問題,可以發(fā)郵件到我司技術郵箱。我們整理一個完整的QT工程,以供參考。


已發(fā)送郵件,


再詢問一下,這個函數(shù)

BOOLWINAPICH341ReadEEPROM(? // 從EEPROM中讀取數(shù)據(jù)塊,速度約56K字節(jié)

ULONGiIndex,? // 指定CH341設備序號

EEPROM_TYPEiEepromID,? // 指定EEPROM型號

ULONGiAddr,? // 指定數(shù)據(jù)單元的地址

ULONGiLength,? // 準備讀取的數(shù)據(jù)字節(jié)數(shù)

PUCHARoBuffer );? // 指向一個緩沖區(qū),返回后是讀入的數(shù)據(jù)

iAddr, iLength, oBuffer各自應該具體填什么參數(shù)

iAddr在windows下給EEPROM寫入時,是否需要考慮大端小端問題,如果考慮windows為小端的話,首地址應該如何填;

iLength,如果寫EEPROM數(shù)據(jù)為35位的字符串,iLength應該如何填;

oBuffer,如果寫EEPROM數(shù)據(jù)為35位字符串,oBuffer如何填,如何轉換數(shù)據(jù)類型


您好,關于CH341ReadEEPRM的使用:

1、iAddr填寫你需要操作的目標地址即可,參數(shù)為主機序,不用考慮大小端;

2、iLength填寫目標長度,如35個字節(jié),直接填寫35即可;

3、oBuffer是指針類型,直接傳UCHAR類型數(shù)組地址即可;

舉例:

目標:往EEPROM的單元地址2,寫入35個字節(jié)。

UCHAR buffer[100];

CH341ReadEEPROM(handle, 24C02, 2, 35, buffer);


十分感謝,這是我呆過的最好的社區(qū)


您好,您的郵件還沒有收到,麻煩確認下是否發(fā)送成功。


image.png已發(fā)送


將您發(fā)送的Qt工程的按鍵事件作替換:

void?MainWindow::on_pushButton_clicked()
{
????uint8_t?buf[20]?=?"test";
????CH341OpenDevice(0);
????CH341WriteEEPROM(0,ID_24C08,?0,?20,?buf);

????uint8_t?cBuff[20]?=?"";

????CH341ReadEEPROM(0,?ID_24C08,?0,?20,?cBuff);
????CHAR?buffer[mMAX_BUFFER_LENGTH?*?3];
????ULONG?i,?j?=?0;
????for(i?=?0;?i?<?10;?i++)
????{
????????sprintf(&buffer[j],?"%2x?",cBuff[i]);????//兩位十六進制數(shù)加一個空格
????????if?(cBuff[i]?<?16?)?????????????????????//一位十六進制字符前面加0
????????????buffer[j]?=?48;
????????if?(buffer[j]?>=?97?&&?buffer[j]?<=?122)?//小寫字母轉為大寫字母
????????????buffer[j]?=?buffer[j]?-?32;
????????if?(buffer[j+1]?>=?97?&&?buffer[j?+?1]?<=?122)?//小寫字母轉為大寫字母
????????????buffer[j+1]?=?buffer[j?+?1]-32;
????????j?+=?3;
????}
????buffer[j]?=?'\0';

????qDebug()?<<?buffer;
????CH341CloseDevice(0);
}

編譯沒有報錯,但運行后讀取EEPROM,全為十六進制的FF,可能是什么原因


建議先使用我們的CH341EVT的上位機工具,先操作下EEPROM器件,排除硬件是否有問題。鏈接地址:http://www.findthetime.net/downloads/CH341EVT_ZIP.html?


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

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