Keil4 CH375HFM.h 報(bào)錯(cuò)

我把官網(wǎng)上的CH375LIB\ARM32\FILELIBM_KL\CH375HFM.h添加到我的C文件后,編譯時(shí)報(bào)錯(cuò)“..\RUN\FCU6D.axf: Error: L6366E: CH375MAI.O attributes are not compatible with the provided cpu and fpu attributes .”

“..\RUN\FCU6D.axf: Error: L6242E: Cannot link object CH375MAI.O as its attributes are incompatible with the image attributes.”

請(qǐng)教這是什么原因?

這應(yīng)該是你的庫用錯(cuò)了,需要根據(jù)你的內(nèi)核指令、編譯器以及數(shù)據(jù)格式來確定庫的版本。一般STM32使用的是

FILELIBM_CX: 增強(qiáng)版U盤文件級(jí)子程序庫,KEIL V3.11,小端數(shù)據(jù)格式,Cortex-M3內(nèi)核指令



我用串口控制CH375B,能不能用串口助手模擬單片機(jī)發(fā)指令給CH375B,CH375B根據(jù)收到的指令進(jìn)行相應(yīng)的回復(fù)呢?還有這種指令流該怎么寫,比如讀CMD_GetVer,是不是0x57,0xAB,0x0A就可以了


我加了FILELIBM_CX里面的CH375HFM.h后,編譯的時(shí)候報(bào)錯(cuò)

“..\RUN\FCU6D.axf: Error: L6218E: Undefined symbol xReadCH375Cmd (referred from main.o).”

“..\RUN\FCU6D.axf: Error: L6218E: Undefined symbol xReadCH375Data (referred from main.o).”

“..\RUN\FCU6D.axf: Error: L6218E: Undefined symbol xWriteCH375Cmd (referred from main.o).”

“..\RUN\FCU6D.axf: Error: L6218E: Undefined symbol xWriteCH375Data (referred from CH375MAI.O).”

請(qǐng)問我還要作一下什么處理就可以了?



CH375串口是9位數(shù)據(jù)模式的,最高位用來區(qū)分是數(shù)據(jù)還是命令的。也沒有同步碼,不能像你那樣直接發(fā)。


需要你來定義外部的接口讀寫函數(shù),因?yàn)閹炖锩鏁?huì)用到這幾個(gè)函數(shù)。


請(qǐng)問“CH375HFM.h”庫里面的函數(shù)哪里可以找到詳細(xì)的說明,比如我調(diào)用了“CH375Init()”,我不清楚對(duì)CH375作了一些什么操作,能有一個(gè)說明就好了,我調(diào)用CH375Init(),編譯沒有問題,但調(diào)試的時(shí)候程序就死在這里了,我不知道為什么?


CH375LibInit()這個(gè)函數(shù)是初始化CH375芯片,具體說明你可以參考一下CH375EVT里面的CH375HF.PDF(U盤文件級(jí)子程序庫說明文檔)。最好在這個(gè)函數(shù)之前做一下測(cè)試命令確保通訊接口正常。

xWriteCH375Cmd(CMD_CHECK_EXIST);?? ?
xWriteCH375Data(0x55);
i = xReadCH375Data();



現(xiàn)在我寫xWriteCH375Cmd(CMD_GET_IC_VER)會(huì)返回B7,但是

xWriteCH375Cmd(CMD_CHECK_EXIST); ? ?
xWriteCH375Data(0x55);
i = xReadCH375Data();

就沒有回復(fù)了,我的硬件接法是TXD,RXD,GND,我發(fā)同步碼0x57,0xAB就會(huì)回復(fù)0x5F,不發(fā)同步碼只發(fā)xWriteCH375Cmd(CMD_GET_IC_VER)返回B7,CH375B有回復(fù)說明它能和單片機(jī)通信上了,但我試別的指令回復(fù)就不是我想要的了,不知是什么原因?



CH375串口是9位數(shù)據(jù)模式的,最高位用來區(qū)分是數(shù)據(jù)還是命令的。也沒有同步碼,不能像你那樣直接發(fā)。你可以參考一下下面的代碼:
void CH375_PORT_INIT( ) {
?? ?SCON = 0xD0; // 設(shè)置串口為9位數(shù)據(jù)
?? ?PCON = 0x80;
?? ?TMOD = 0x20;
?? ?TH1 = 0xf3;? // 24MHz晶振, 9600bps
?? ?TR1 = 1;
?? ?TI = 1;
//? RI = 0;
//設(shè)置波特率和其它串口參數(shù)
}

void xWriteCH375Cmd( UINT8 mCmd ) {
?? ?TI = 0;
?? ?TB8 = 1;
?? ?SBUF = mCmd;
?? ?while ( TI == 0 );
}

void xWriteCH375Data( UINT8 mData ) {
?? ?TI = 0;
?? ?TB8 = 0;
?? ?SBUF = mData;
?? ?while ( TI == 0 );
}

UINT8 xReadCH375Data( void ) {
?? ?while ( RI == 0 );
?? ?RI = 0;
?? ?return( SBUF );
}


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

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