ch372接收數(shù)據(jù)出錯(cuò)

我在用372做的設(shè)備,之前的樣機(jī)用于3。3V設(shè)計(jì)已經(jīng)成功,現(xiàn)在我改版后,用5V供電,V3引腳已經(jīng)改用104電容接地,其他引腳未變,但接收pc發(fā)來的數(shù)據(jù)有問題,初始化時(shí)用CHECK_EXIST命令測(cè)試連接是沒問題的,這是怎么回事? pc發(fā)送數(shù)據(jù)(十六進(jìn)制) 02 64 00 00 04 00 00 78 00 單片機(jī)接收到的數(shù)據(jù)如圖 02 64 00 04 00 78 00 00 00 有時(shí)第一個(gè)02還收不到,有時(shí)第一個(gè)字節(jié)還是d0,看樣子像干擾問題,我用沁恒的usb芯片好多年了,從來沒遇到過這樣的問題,但我大多都是3.3V電路,這次是第一次5V,請(qǐng)大蝦幫我想想可能是哪里的原因,謝謝

這是我的電路圖,VCC為5V


200972319133431.jpg


這是我的程序調(diào)試界面

200972319152917.jpg

初始化程序

void USB::init(void) { this -> wr_xdata(CH372_COMM,RESET_ALL); for (pi=0;pi<20;pi++) { delay(200); } this -> wr_xdata(CH372_COMM,SET_USB_MODE); delay(200); this -> wr_xdata(CH372_DATA,0x02); delay(200); px= 0xaa; for (pi=0;pi<100;pi++) { this -> wr_xdata(CH372_COMM,CHECK_EXIST); delay(20); this -> wr_xdata(CH372_DATA,px); delay(20); px = this -> rd_xdata(CH372_DATA); } return; }


有時(shí)單片機(jī)收到的數(shù)據(jù)是 64 04 ff 00 00 00 00 00 00


V3接103電容對(duì)地,實(shí)驗(yàn)一下. 測(cè)試命令一般是用來測(cè)試軟件硬件連接是否正確的,所以測(cè)試命令最好在設(shè)置模式之前做.


我手頭沒有103,我用6800p電容實(shí)驗(yàn)了,還是不行,資料上說是4700~0.02uF


另外導(dǎo)致這種現(xiàn)象出現(xiàn)可能還有其他原因,讀寫函數(shù)延時(shí)不夠,干擾,連續(xù)測(cè)試命令能夠通過并不能說明什么,你測(cè)試的是同一個(gè)數(shù)據(jù),而且中間延時(shí)了很長時(shí)間.


是什么原因呢,能否提點(diǎn)建議,我好分析


(1)372共作在5V,那么單片機(jī)工作在幾V呢?會(huì)不會(huì)存在電平不匹配 (2)是手工搭的板子,還是PCB板,供地性好不好


單片機(jī)也是5V的啊,如果單片機(jī)是3.3V,讀5V的372會(huì)出問題 設(shè)計(jì)的電路板,不是萬能板


(1)上位機(jī)軟件可靠么?下載CH372DBG調(diào)試一下位機(jī),確認(rèn)一下原因 (2)做個(gè)實(shí)驗(yàn),把現(xiàn)在系統(tǒng)改3.3V,能否正常


上位機(jī)軟件是我設(shè)計(jì)的,之前用在樣機(jī)上一直正常 做好的電路板,改3.3V很麻煩的, 我現(xiàn)在還在檢查


單片機(jī)程序沒有改動(dòng)、pc端軟件沒有改動(dòng),只將電路板上的單片機(jī)、ch372改為3.3V,一切通信都正常了,我單片機(jī)與ch372是通過3.3V的cpld地址譯碼的,和這個(gè)不應(yīng)該有關(guān)系吧


CPLD能否接受5V電平呢,如不能,那么單片機(jī)工作在5V時(shí),會(huì)存在電平不匹配 另,早期的CH372T/A是5V工作電壓,CH372V是3.3V,不能混用;CH372B支持兩種電壓


你沒用過cpld,他當(dāng)然可以接受5V電壓,我用的就是372B


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

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