標(biāo)題: 一樣的單片機(jī)程序,一樣的板子,燒錄進(jìn)去我和我同學(xué)的現(xiàn)象完全不一樣? [打印本頁(yè)]

作者: haha嘻嘻    時(shí)間: 2022-6-16 08:30
標(biāo)題: 一樣的單片機(jī)程序,一樣的板子,燒錄進(jìn)去我和我同學(xué)的現(xiàn)象完全不一樣?
C51燒錄問(wèn)題
一樣的程序,一樣的板子,燒錄進(jìn)去我和我同學(xué)的現(xiàn)象完全不一樣,程序是有關(guān)串口通訊的
作者: man1234567    時(shí)間: 2022-6-16 16:42
同一個(gè)教室、同一個(gè)課本、同一個(gè)老師,償認(rèn)為學(xué)生的成績(jī)都是一樣的么 ?
如果不一樣,又會(huì)是怎樣的呢 ? 給出泛泛的答案是你想要的么 ?
作者: wulin    時(shí)間: 2022-6-16 16:51
1.你是對(duì)的,同學(xué)是錯(cuò)的。
2.你是錯(cuò)的,同學(xué)是對(duì)的。
3.你和同學(xué)都是錯(cuò)的。
作者: 鏗鏘曠世材    時(shí)間: 2022-6-16 17:14
哪里不一樣,有什么現(xiàn)象,不提供東西別人怎么去幫你?把現(xiàn)象發(fā)出來(lái)
作者: haha嘻嘻    時(shí)間: 2022-6-16 20:45
是這樣,這是一個(gè)讀取id卡的程序,上位機(jī)與單片機(jī)進(jìn)行串口通訊,發(fā)給單片機(jī)一串八字節(jié)ID64數(shù)據(jù),單片機(jī)進(jìn)行處理后返回五字節(jié)序列號(hào),我同學(xué)的現(xiàn)象正常,我的返回?cái)?shù)字卻不盡人意,主要是程序一樣板子一樣(板子是普中51A7開(kāi)發(fā)板)由于板子是商業(yè)化的板子,所以我覺(jué)得硬件是一樣的,而且代碼也一樣,包括keil里的配置,所以我實(shí)在想不出來(lái)可能是哪里的問(wèn)題,如果可以,請(qǐng)大家哪怕泛泛的答案也請(qǐng)說(shuō)一下好嗎

)Y@Q3AIY}A1HUBK)BH7%A%J.png (32.82 KB, 下載次數(shù): 31)

)Y@Q3AIY}A1HUBK)BH7%A%J.png

作者: 君工創(chuàng)    時(shí)間: 2022-6-16 23:29
電腦一樣嗎?板了的批次一樣嗎?焊點(diǎn)有虛焊的嗎?連接線有松動(dòng)的嗎?
作者: kmsj    時(shí)間: 2022-6-16 23:44
keil里的優(yōu)化設(shè)置一樣嗎?不要用源代碼,用你同學(xué)的hex文件燒寫進(jìn)去可以用嗎?上位機(jī)交換可以用嗎?再不行示波器看波形,測(cè)試波特率。
作者: haha嘻嘻    時(shí)間: 2022-6-16 23:58
君工創(chuàng) 發(fā)表于 2022-6-16 23:29
電腦一樣嗎?板了的批次一樣嗎?焊點(diǎn)有虛焊的嗎?連接線有松動(dòng)的嗎?

電腦不一樣,但是我用其他同學(xué)的電腦燒也不行,他們則是都可以正常運(yùn)行,板子批次應(yīng)該是一樣的,無(wú)虛焊無(wú)松動(dòng)

作者: haha嘻嘻    時(shí)間: 2022-6-17 00:00
kmsj 發(fā)表于 2022-6-16 23:44
keil里的優(yōu)化設(shè)置一樣嗎?不要用源代碼,用你同學(xué)的hex文件燒寫進(jìn)去可以用嗎?上位機(jī)交換可以用嗎?再不行 ...

好的,謝謝您。!
作者: glinfei    時(shí)間: 2022-6-17 08:55
你把你的電腦截屏發(fā)上來(lái),看看是什么樣子吧。我覺(jué)得很可能com口號(hào)不對(duì),你看看設(shè)備管理里,你的板子插上后的com口號(hào)是多少。
作者: zhxiufan    時(shí)間: 2022-6-17 09:06
檢查一下晶振是不是一樣吧,估計(jì)一個(gè)是11.0592,一個(gè)12,因?yàn)槠罩须S板會(huì)有晶振的,可能插入的不一樣。
作者: haha嘻嘻    時(shí)間: 2022-6-17 09:18
glinfei 發(fā)表于 2022-6-17 08:55
你把你的電腦截屏發(fā)上來(lái),看看是什么樣子吧。我覺(jué)得很可能com口號(hào)不對(duì),你看看設(shè)備管理里,你的板子插上后 ...

com口號(hào)是正確的,我反復(fù)檢查過(guò)了

作者: glinfei    時(shí)間: 2022-6-17 09:36
那你的板子,返回?cái)?shù)字是什么?根本沒(méi)有,還是偶爾有?還是有返回,只是不對(duì)?
作者: haha嘻嘻    時(shí)間: 2022-6-17 10:28
glinfei 發(fā)表于 2022-6-17 09:36
那你的板子,返回?cái)?shù)字是什么?根本沒(méi)有,還是偶爾有?還是有返回,只是不對(duì)?

返回?cái)?shù)字一直有,但是不對(duì),且不是亂碼,而且我更改了相應(yīng)的波特率還是不對(duì),但是其實(shí)同時(shí)我還設(shè)置了若接收正確綠燈亮一次,接收錯(cuò)誤紅燈亮兩次,每次接收到上位機(jī)發(fā)送的十六進(jìn)制后都是亮兩次紅燈
作者: glinfei    時(shí)間: 2022-6-17 11:32
你能否多給點(diǎn)信息啊,比如上個(gè)圖片的8個(gè)字節(jié),你收到的五個(gè)字節(jié)是啥? 或者就發(fā)個(gè)空系列FF80000000000000 ,看收到的是啥? 既然能通信,那就是解算出問(wèn)題了唄,發(fā)幾個(gè)數(shù)據(jù),手算一下看看先吧。
還有單板機(jī)怎么知道接受對(duì)錯(cuò)呢?難道是指行和列奇偶校驗(yàn)嗎?
作者: kmsj    時(shí)間: 2022-6-17 12:26



普中A7開(kāi)發(fā)板是不是這個(gè)樣子?把你同學(xué)燒好程序的單片機(jī)換在你的開(kāi)發(fā)板上,如果不行,90%以上的可能是你的板不行,在你的板上燒一片單片機(jī)換在你同學(xué)的板上,如果可以了,100%是你的板有問(wèn)題,然后就慢慢檢查你的板,從單片機(jī)鎖緊座開(kāi)始查,到連接上位機(jī)的線,硬件問(wèn)題不排除,查軟件就是走彎路,這是最基本的常識(shí)。


作者: kmsj    時(shí)間: 2022-6-17 13:11
應(yīng)該是在你的板上燒一片單片機(jī)換在你同學(xué)的板上,如果可以了,證明你的板燒錄部分線路是好的,也能證明你的軟件100%沒(méi)有問(wèn)題。
作者: 熱度三分    時(shí)間: 2022-6-17 14:14
你同學(xué)設(shè)置的波特率9600 你是4800 波特率都不對(duì) 能一樣嗎
作者: glinfei    時(shí)間: 2022-6-17 17:34
haha嘻嘻 發(fā)表于 2022-6-17 10:34
這個(gè)是我當(dāng)時(shí)的代碼,我的現(xiàn)象則如圖所示,且沒(méi)有一次是成功的,無(wú)亂碼,紅燈亮兩次

我問(wèn)一下,真的跟你同學(xué)程序一樣嗎? 比如 bin=(getbuf[i+3]>>j)&0x01; 有兩個(gè)問(wèn)題:1、它是ASCII碼還是數(shù)字,沒(méi)看到你轉(zhuǎn)數(shù)字;2、這個(gè)碼的前9位是1,所以應(yīng)該從第三個(gè)字節(jié)也就是i+2才對(duì)啊?我覺(jué)得轉(zhuǎn)碼有問(wèn)題,所以行列的奇偶檢驗(yàn)也不對(duì)。要下班了,我也沒(méi)看仔細(xì),可能說(shuō)的不對(duì)啊。
作者: npn    時(shí)間: 2022-6-17 18:41
可能與單片機(jī)固件版本、Keil版本,編譯優(yōu)化設(shè)置、晶振誤差、供電問(wèn)題有關(guān)。
作者: 雪玉寐影    時(shí)間: 2022-6-17 19:23
多簡(jiǎn)單啊,把你同學(xué)的MCU插你板上不就知道誰(shuí)有問(wèn)題了!
作者: man1234567    時(shí)間: 2022-6-18 09:56
既然同學(xué)就在身邊,兩套一樣的東東其中結(jié)果不一,可以試著r
作者: man1234567    時(shí)間: 2022-6-18 09:59
既然同學(xué)就在身邊,有兩套一樣的設(shè)備,但結(jié)果不一,可以試著換件就能找出原因:
1、用你的電腦和程序,其他硬件用同學(xué)的,試試出問(wèn)題不;
2、無(wú)問(wèn)題,將同學(xué)硬件中的部分與你的調(diào)換,直到找出問(wèn)題件。
作者: zpxm01    時(shí)間: 2022-6-18 10:30
最簡(jiǎn)單的辦法就是與他人的相同單片機(jī)芯片對(duì)換試一下。
作者: haha嘻嘻    時(shí)間: 2022-6-18 15:55
感謝大家的解答,目前已經(jīng)解決了,果然是晶振的問(wèn)題,可能是之前做相關(guān)實(shí)驗(yàn)忘記更換,他的是11.0592M的而我用的12M的
作者: haha嘻嘻    時(shí)間: 2022-6-18 16:02
glinfei 發(fā)表于 2022-6-17 11:32
你能否多給點(diǎn)信息啊,比如上個(gè)圖片的8個(gè)字節(jié),你收到的五個(gè)字節(jié)是啥? 或者就發(fā)個(gè)空系列FF80000000000000  ...

是的,是有行列校驗(yàn)
作者: haha嘻嘻    時(shí)間: 2022-6-18 16:13
npn 發(fā)表于 2022-6-17 18:41
可能與單片機(jī)固件版本、Keil版本,編譯優(yōu)化設(shè)置、晶振誤差、供電問(wèn)題有關(guān)。

謝謝您,果然是晶振誤差的問(wèn)題
作者: glinfei    時(shí)間: 2022-6-20 09:46
haha嘻嘻 發(fā)表于 2022-6-18 16:13
謝謝您,果然是晶振誤差的問(wèn)題

學(xué)到了,我就喜歡這種有始有終的帖子。
作者: 無(wú)恥之徒    時(shí)間: 2022-6-20 23:26
晶振,波特率設(shè)置一樣嗎?亂碼大多是這個(gè)問(wèn)題
作者: haha嘻嘻    時(shí)間: 2022-6-23 22:54
zhxiufan 發(fā)表于 2022-6-17 09:06
檢查一下晶振是不是一樣吧,估計(jì)一個(gè)是11.0592,一個(gè)12,因?yàn)槠罩须S板會(huì)有晶振的,可能插入的不一樣。

確實(shí)和您說(shuō)的一樣,已經(jīng)解決了,謝謝您!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1