c8051f021不知為什么讀ch375b好像出錯(cuò)了而寫入數(shù)據(jù)后上傳pc正常

下面為測(cè)試程序: CH375_WR_CMD_PORT(CMD_GET_IC_VER); i=CH375_RD_DAT_PORT(); 讀出值為:0x01正常值為:B7(正常89s52讀的)

CH375_WR_CMD_PORT(CMD_CHECK_EXIST); CH375_WR_DAT_PORT(0X57); i=CH375_RD_DAT_PORT(); 讀出值為:0x00,正常值:0xa8

unsigned char CH375_RD_DAT_PORT( void ) { unsigned char i; unsigned char n=0; n++; n++; usb_cs=0; usb_a0=0; usb_rd=0; n++; i=P2; n++; n++; usb_rd=1; usb_cs=1; n++; n++; return( i );

} ch375采樣內(nèi)置固件模式,pc接收數(shù)據(jù)正常,pc無法下傳,經(jīng)測(cè)試好像ch375讀不正常,不知什么原因,c8051f021采用12Mhz晶振單周期指令,連接usb的所有單片機(jī)管腳置為開漏(usb管腳為弱上拉),希望大家?guī)拖旅?,謝謝!

在讀CH375的端口的時(shí)候,將C8051單片機(jī)的數(shù)據(jù)口方向設(shè)置成上拉輸入試試。


謝謝你的提醒,我又重新閱讀一下c8051f021的資料發(fā)現(xiàn)端口須置1才能為數(shù)字輸入口,在讀端口前先置P2=0xff就可以了,數(shù)據(jù)端口還是配置開漏,其他控制端口配置成推挽usb無法認(rèn)出,不知是否與usb弱上拉沖突嗎?不過問題先解決了,謝謝! unsigned char CH375_RD_DAT_PORT( void ) { unsigned char i; unsigned char n=0; n++; n++; usb_cs=0; usb_a0=0; P2=0xff; usb_rd=0; n++; i=P2; n++; n++; usb_rd=1; usb_cs=1; n++; n++; return( i );

}


樓主,我用c8051f020,將例程中的頭文件reg52.h更改為c8051f020.h,編譯時(shí)定義的寄存器全部報(bào)錯(cuò),你的頭文件如何使用的,幫幫我這新手,呵呵。郵箱:個(gè)人信息保護(hù),已隱藏


你好:

????你報(bào)錯(cuò)問題出在c8051f020.hreg52.h里面的寄存器名稱不完全一直,建議將程序中用到了reg52.h里面寄存器的函數(shù)內(nèi)容替換為c8051f020中的寫法。例如例程中會(huì)有串口調(diào)試函數(shù),里面的TI,SCON等都要去掉,更改為c8051f020中串口寫法。


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

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