找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3672|回復(fù): 29
收起左側(cè)

一樣的單片機(jī)程序,一樣的板子,燒錄進(jìn)去我和我同學(xué)的現(xiàn)象完全不一樣?

  [復(fù)制鏈接]
ID:1035058 發(fā)表于 2022-6-16 08:30 來自觸屏版 | 顯示全部樓層 |閱讀模式
C51燒錄問題
一樣的程序,一樣的板子,燒錄進(jìn)去我和我同學(xué)的現(xiàn)象完全不一樣,程序是有關(guān)串口通訊的
回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2022-6-16 16:42 | 顯示全部樓層
同一個(gè)教室、同一個(gè)課本、同一個(gè)老師,償認(rèn)為學(xué)生的成績(jī)都是一樣的么 ?
如果不一樣,又會(huì)是怎樣的呢 ? 給出泛泛的答案是你想要的么 ?
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2022-6-16 16:51 | 顯示全部樓層
1.你是對(duì)的,同學(xué)是錯(cuò)的。
2.你是錯(cuò)的,同學(xué)是對(duì)的。
3.你和同學(xué)都是錯(cuò)的。
回復(fù)

使用道具 舉報(bào)

ID:1026253 發(fā)表于 2022-6-16 17:14 | 顯示全部樓層
哪里不一樣,有什么現(xiàn)象,不提供東西別人怎么去幫你?把現(xiàn)象發(fā)出來
回復(fù)

使用道具 舉報(bào)

ID:1035058 發(fā)表于 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開發(fā)板)由于板子是商業(yè)化的板子,所以我覺得硬件是一樣的,而且代碼也一樣,包括keil里的配置,所以我實(shí)在想不出來可能是哪里的問題,如果可以,請(qǐng)大家哪怕泛泛的答案也請(qǐng)說一下好嗎
)Y@Q3AIY}A1HUBK)BH7%A%J.png
回復(fù)

使用道具 舉報(bào)

ID:965189 發(fā)表于 2022-6-16 23:29 | 顯示全部樓層
電腦一樣嗎?板了的批次一樣嗎?焊點(diǎn)有虛焊的嗎?連接線有松動(dòng)的嗎?
回復(fù)

使用道具 舉報(bào)

ID:383215 發(fā)表于 2022-6-16 23:44 | 顯示全部樓層
keil里的優(yōu)化設(shè)置一樣嗎?不要用源代碼,用你同學(xué)的hex文件燒寫進(jìn)去可以用嗎?上位機(jī)交換可以用嗎?再不行示波器看波形,測(cè)試波特率。
回復(fù)

使用道具 舉報(bào)

ID:1035058 發(fā)表于 2022-6-16 23:58 | 顯示全部樓層
君工創(chuàng) 發(fā)表于 2022-6-16 23:29
電腦一樣嗎?板了的批次一樣嗎?焊點(diǎn)有虛焊的嗎?連接線有松動(dòng)的嗎?

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

使用道具 舉報(bào)

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

好的,謝謝您�。�!
回復(fù)

使用道具 舉報(bào)

ID:844772 發(fā)表于 2022-6-17 08:55 | 顯示全部樓層
你把你的電腦截屏發(fā)上來,看看是什么樣子吧。我覺得很可能com口號(hào)不對(duì),你看看設(shè)備管理里,你的板子插上后的com口號(hào)是多少。
回復(fù)

使用道具 舉報(bào)

ID:121859 發(fā)表于 2022-6-17 09:06 | 顯示全部樓層
檢查一下晶振是不是一樣吧,估計(jì)一個(gè)是11.0592,一個(gè)12,因?yàn)槠罩须S板會(huì)有晶振的,可能插入的不一樣。
回復(fù)

使用道具 舉報(bào)

ID:1035058 發(fā)表于 2022-6-17 09:18 | 顯示全部樓層
glinfei 發(fā)表于 2022-6-17 08:55
你把你的電腦截屏發(fā)上來,看看是什么樣子吧。我覺得很可能com口號(hào)不對(duì),你看看設(shè)備管理里,你的板子插上后 ...

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

使用道具 舉報(bào)

ID:844772 發(fā)表于 2022-6-17 09:36 | 顯示全部樓層
那你的板子,返回?cái)?shù)字是什么?根本沒有,還是偶爾有?還是有返回,只是不對(duì)?
回復(fù)

使用道具 舉報(bào)

ID:1035058 發(fā)表于 2022-6-17 10:28 | 顯示全部樓層
glinfei 發(fā)表于 2022-6-17 09:36
那你的板子,返回?cái)?shù)字是什么?根本沒有,還是偶爾有?還是有返回,只是不對(duì)?

返回?cái)?shù)字一直有,但是不對(duì),且不是亂碼,而且我更改了相應(yīng)的波特率還是不對(duì),但是其實(shí)同時(shí)我還設(shè)置了若接收正確綠燈亮一次,接收錯(cuò)誤紅燈亮兩次,每次接收到上位機(jī)發(fā)送的十六進(jìn)制后都是亮兩次紅燈
回復(fù)

使用道具 舉報(bào)

ID:844772 發(fā)表于 2022-6-17 11:32 | 顯示全部樓層
你能否多給點(diǎn)信息啊,比如上個(gè)圖片的8個(gè)字節(jié),你收到的五個(gè)字節(jié)是啥? 或者就發(fā)個(gè)空系列FF80000000000000 ,看收到的是啥? 既然能通信,那就是解算出問題了唄,發(fā)幾個(gè)數(shù)據(jù),手算一下看看先吧。
還有單板機(jī)怎么知道接受對(duì)錯(cuò)呢?難道是指行和列奇偶校驗(yàn)嗎?
回復(fù)

使用道具 舉報(bào)

ID:383215 發(fā)表于 2022-6-17 12:26 | 顯示全部樓層

a7.jpg

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

回復(fù)

使用道具 舉報(bào)

ID:383215 發(fā)表于 2022-6-17 13:11 | 顯示全部樓層
應(yīng)該是在你的板上燒一片單片機(jī)換在你同學(xué)的板上,如果可以了,證明你的板燒錄部分線路是好的,也能證明你的軟件100%沒有問題。
回復(fù)

使用道具 舉報(bào)

ID:855733 發(fā)表于 2022-6-17 14:14 | 顯示全部樓層
你同學(xué)設(shè)置的波特率9600 你是4800 波特率都不對(duì) 能一樣嗎
回復(fù)

使用道具 舉報(bào)

ID:844772 發(fā)表于 2022-6-17 17:34 | 顯示全部樓層
haha嘻嘻 發(fā)表于 2022-6-17 10:34
這個(gè)是我當(dāng)時(shí)的代碼,我的現(xiàn)象則如圖所示,且沒有一次是成功的,無亂碼,紅燈亮兩次

我問一下,真的跟你同學(xué)程序一樣嗎? 比如 bin=(getbuf[i+3]>>j)&0x01; 有兩個(gè)問題:1、它是ASCII碼還是數(shù)字,沒看到你轉(zhuǎn)數(shù)字;2、這個(gè)碼的前9位是1,所以應(yīng)該從第三個(gè)字節(jié)也就是i+2才對(duì)��?我覺得轉(zhuǎn)碼有問題,所以行列的奇偶檢驗(yàn)也不對(duì)。要下班了,我也沒看仔細(xì),可能說的不對(duì)啊。
回復(fù)

使用道具 舉報(bào)

ID:57657 發(fā)表于 2022-6-17 18:41 | 顯示全部樓層
可能與單片機(jī)固件版本、Keil版本,編譯優(yōu)化設(shè)置、晶振誤差、供電問題有關(guān)。
回復(fù)

使用道具 舉報(bào)

ID:99525 發(fā)表于 2022-6-17 19:23 | 顯示全部樓層
多簡(jiǎn)單啊,把你同學(xué)的MCU插你板上不就知道誰有問題了!
回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2022-6-18 09:56 | 顯示全部樓層
既然同學(xué)就在身邊,兩套一樣的東東其中結(jié)果不一,可以試著r
回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2022-6-18 09:59 | 顯示全部樓層
既然同學(xué)就在身邊,有兩套一樣的設(shè)備,但結(jié)果不一,可以試著換件就能找出原因:
1、用你的電腦和程序,其他硬件用同學(xué)的,試試出問題不;
2、無問題,將同學(xué)硬件中的部分與你的調(diào)換,直到找出問題件。
回復(fù)

使用道具 舉報(bào)

ID:1025635 發(fā)表于 2022-6-18 10:30 | 顯示全部樓層
最簡(jiǎn)單的辦法就是與他人的相同單片機(jī)芯片對(duì)換試一下。
回復(fù)

使用道具 舉報(bào)

ID:1035058 發(fā)表于 2022-6-18 15:55 | 顯示全部樓層
感謝大家的解答,目前已經(jīng)解決了,果然是晶振的問題,可能是之前做相關(guān)實(shí)驗(yàn)忘記更換,他的是11.0592M的而我用的12M的
回復(fù)

使用道具 舉報(bào)

ID:1035058 發(fā)表于 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)
回復(fù)

使用道具 舉報(bào)

ID:1035058 發(fā)表于 2022-6-18 16:13 | 顯示全部樓層
npn 發(fā)表于 2022-6-17 18:41
可能與單片機(jī)固件版本、Keil版本,編譯優(yōu)化設(shè)置、晶振誤差、供電問題有關(guān)。

謝謝您,果然是晶振誤差的問題
回復(fù)

使用道具 舉報(bào)

ID:844772 發(fā)表于 2022-6-20 09:46 | 顯示全部樓層
haha嘻嘻 發(fā)表于 2022-6-18 16:13
謝謝您,果然是晶振誤差的問題

學(xué)到了,我就喜歡這種有始有終的帖子。
回復(fù)

使用道具 舉報(bào)

ID:1030903 發(fā)表于 2022-6-20 23:26 來自觸屏版 | 顯示全部樓層
晶振,波特率設(shè)置一樣嗎?亂碼大多是這個(gè)問題
回復(fù)

使用道具 舉報(bào)

ID:1035058 發(fā)表于 2022-6-23 22:54 來自觸屏版 | 顯示全部樓層
zhxiufan 發(fā)表于 2022-6-17 09:06
檢查一下晶振是不是一樣吧,估計(jì)一個(gè)是11.0592,一個(gè)12,因?yàn)槠罩须S板會(huì)有晶振的,可能插入的不一樣。

確實(shí)和您說的一樣,已經(jīng)解決了,謝謝您��!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表