找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3630|回復(fù): 29
打印 上一主題 下一主題
收起左側(cè)

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

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1035058 發(fā)表于 2022-6-16 08:30 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
C51燒錄問題
一樣的程序,一樣的板子,燒錄進去我和我同學(xué)的現(xiàn)象完全不一樣,程序是有關(guān)串口通訊的
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:584814 發(fā)表于 2022-6-16 16:42 | 只看該作者
同一個教室、同一個課本、同一個老師,償認為學(xué)生的成績都是一樣的么 ?
如果不一樣,又會是怎樣的呢 ? 給出泛泛的答案是你想要的么 ?
回復(fù)

使用道具 舉報

板凳
ID:213173 發(fā)表于 2022-6-16 16:51 | 只看該作者
1.你是對的,同學(xué)是錯的。
2.你是錯的,同學(xué)是對的。
3.你和同學(xué)都是錯的。
回復(fù)

使用道具 舉報

地板
ID:1026253 發(fā)表于 2022-6-16 17:14 | 只看該作者
哪里不一樣,有什么現(xiàn)象,不提供東西別人怎么去幫你?把現(xiàn)象發(fā)出來
回復(fù)

使用道具 舉報

5#
ID:1035058 發(fā)表于 2022-6-16 20:45 | 只看該作者
是這樣,這是一個讀取id卡的程序,上位機與單片機進行串口通訊,發(fā)給單片機一串八字節(jié)ID64數(shù)據(jù),單片機進行處理后返回五字節(jié)序列號,我同學(xué)的現(xiàn)象正常,我的返回數(shù)字卻不盡人意,主要是程序一樣板子一樣(板子是普中51A7開發(fā)板)由于板子是商業(yè)化的板子,所以我覺得硬件是一樣的,而且代碼也一樣,包括keil里的配置,所以我實在想不出來可能是哪里的問題,如果可以,請大家哪怕泛泛的答案也請說一下好嗎

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

)Y@Q3AIY}A1HUBK)BH7%A%J.png
回復(fù)

使用道具 舉報

6#
ID:965189 發(fā)表于 2022-6-16 23:29 | 只看該作者
電腦一樣嗎?板了的批次一樣嗎?焊點有虛焊的嗎?連接線有松動的嗎?
回復(fù)

使用道具 舉報

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

使用道具 舉報

8#
ID:1035058 發(fā)表于 2022-6-16 23:58 | 只看該作者
君工創(chuàng) 發(fā)表于 2022-6-16 23:29
電腦一樣嗎?板了的批次一樣嗎?焊點有虛焊的嗎?連接線有松動的嗎?

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

使用道具 舉報

9#
ID:1035058 發(fā)表于 2022-6-17 00:00 | 只看該作者
kmsj 發(fā)表于 2022-6-16 23:44
keil里的優(yōu)化設(shè)置一樣嗎?不要用源代碼,用你同學(xué)的hex文件燒寫進去可以用嗎?上位機交換可以用嗎?再不行 ...

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

使用道具 舉報

10#
ID:844772 發(fā)表于 2022-6-17 08:55 | 只看該作者
你把你的電腦截屏發(fā)上來,看看是什么樣子吧。我覺得很可能com口號不對,你看看設(shè)備管理里,你的板子插上后的com口號是多少。
回復(fù)

使用道具 舉報

11#
ID:121859 發(fā)表于 2022-6-17 09:06 | 只看該作者
檢查一下晶振是不是一樣吧,估計一個是11.0592,一個12,因為普中隨板會有晶振的,可能插入的不一樣。
回復(fù)

使用道具 舉報

12#
ID:1035058 發(fā)表于 2022-6-17 09:18 | 只看該作者
glinfei 發(fā)表于 2022-6-17 08:55
你把你的電腦截屏發(fā)上來,看看是什么樣子吧。我覺得很可能com口號不對,你看看設(shè)備管理里,你的板子插上后 ...

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

使用道具 舉報

13#
ID:844772 發(fā)表于 2022-6-17 09:36 | 只看該作者
那你的板子,返回數(shù)字是什么?根本沒有,還是偶爾有?還是有返回,只是不對?
回復(fù)

使用道具 舉報

14#
ID:1035058 發(fā)表于 2022-6-17 10:28 | 只看該作者
glinfei 發(fā)表于 2022-6-17 09:36
那你的板子,返回數(shù)字是什么?根本沒有,還是偶爾有?還是有返回,只是不對?

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

使用道具 舉報

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

使用道具 舉報

16#
ID:383215 發(fā)表于 2022-6-17 12:26 | 只看該作者



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

回復(fù)

使用道具 舉報

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

使用道具 舉報

18#
ID:855733 發(fā)表于 2022-6-17 14:14 | 只看該作者
你同學(xué)設(shè)置的波特率9600 你是4800 波特率都不對 能一樣嗎
回復(fù)

使用道具 舉報

19#
ID:844772 發(fā)表于 2022-6-17 17:34 | 只看該作者
haha嘻嘻 發(fā)表于 2022-6-17 10:34
這個是我當時的代碼,我的現(xiàn)象則如圖所示,且沒有一次是成功的,無亂碼,紅燈亮兩次

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

使用道具 舉報

20#
ID:57657 發(fā)表于 2022-6-17 18:41 | 只看該作者
可能與單片機固件版本、Keil版本,編譯優(yōu)化設(shè)置、晶振誤差、供電問題有關(guān)。
回復(fù)

使用道具 舉報

21#
ID:99525 發(fā)表于 2022-6-17 19:23 | 只看該作者
多簡單啊,把你同學(xué)的MCU插你板上不就知道誰有問題了!
回復(fù)

使用道具 舉報

22#
ID:584814 發(fā)表于 2022-6-18 09:56 | 只看該作者
既然同學(xué)就在身邊,兩套一樣的東東其中結(jié)果不一,可以試著r
回復(fù)

使用道具 舉報

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

使用道具 舉報

24#
ID:1025635 發(fā)表于 2022-6-18 10:30 | 只看該作者
最簡單的辦法就是與他人的相同單片機芯片對換試一下。
回復(fù)

使用道具 舉報

25#
ID:1035058 發(fā)表于 2022-6-18 15:55 | 只看該作者
感謝大家的解答,目前已經(jīng)解決了,果然是晶振的問題,可能是之前做相關(guān)實驗忘記更換,他的是11.0592M的而我用的12M的
回復(fù)

使用道具 舉報

26#
ID:1035058 發(fā)表于 2022-6-18 16:02 | 只看該作者
glinfei 發(fā)表于 2022-6-17 11:32
你能否多給點信息啊,比如上個圖片的8個字節(jié),你收到的五個字節(jié)是啥? 或者就發(fā)個空系列FF80000000000000  ...

是的,是有行列校驗
回復(fù)

使用道具 舉報

27#
ID:1035058 發(fā)表于 2022-6-18 16:13 | 只看該作者
npn 發(fā)表于 2022-6-17 18:41
可能與單片機固件版本、Keil版本,編譯優(yōu)化設(shè)置、晶振誤差、供電問題有關(guān)。

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

使用道具 舉報

28#
ID:844772 發(fā)表于 2022-6-20 09:46 | 只看該作者
haha嘻嘻 發(fā)表于 2022-6-18 16:13
謝謝您,果然是晶振誤差的問題

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

使用道具 舉報

29#
ID:1030903 發(fā)表于 2022-6-20 23:26 來自手機 | 只看該作者
晶振,波特率設(shè)置一樣嗎?亂碼大多是這個問題
回復(fù)

使用道具 舉報

30#
ID:1035058 發(fā)表于 2022-6-23 22:54 來自手機 | 只看該作者
zhxiufan 發(fā)表于 2022-6-17 09:06
檢查一下晶振是不是一樣吧,估計一個是11.0592,一個12,因為普中隨板會有晶振的,可能插入的不一樣。

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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