找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機開發(fā)板 RS485通信接收可以,不能發(fā)送 如何調(diào)試

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:860248 發(fā)表于 2023-7-20 01:08 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
20黑幣
我學(xué)習(xí)單片機一段時間, 現(xiàn)在學(xué)習(xí)RS485通信.用普中A7
我在12C5A60S2開發(fā)板學(xué)習(xí)了一個用RS485通信的代碼, 是可正常運行的, 我用SSCOM32和4IN1的USB->485相互通信也正常.
我把代碼修改一下移植到普中A7開發(fā)板和KST開發(fā)板處, 在SSCOM32發(fā)送AA 55, 可以令開發(fā)板的LED燈發(fā)亮, 但按按鍵1, SSCOM32顯示1個 05后, 開發(fā)板就出現(xiàn)死機一樣. 要按RESET鍵.
RESET後按鍵2, SSCOM32顯示01 02 後, 開發(fā)板又出現(xiàn)死機.
請問各位我代碼用在C51中有什么錯誤呢?
謝謝

/****************************************************************************
         KSCheang 單片機練習(xí)
功能: 普中A7開發(fā)板之485發(fā)送字串,數(shù)組, 接收令LED亮
芯片:89C52RC
晶振:11.0592MHZ(9600,N,8,1)
環(huán)境:Keil4
硬件:普中A7開發(fā)板
日期:20230706
程序:  用按鍵1~4選擇發(fā)送整數(shù), 數(shù)組, 字串

用USB-485通信.jpg (861.92 KB, 下載次數(shù): 85)

用USB-485通信.jpg

發(fā)AA55去單片機.jpg (231.73 KB, 下載次數(shù): 92)

發(fā)AA55去單片機.jpg

按K2發(fā)0102后死機.jpg (142.75 KB, 下載次數(shù): 81)

按K2發(fā)0102后死機.jpg

按K1發(fā)05后死機.jpg (219.66 KB, 下載次數(shù): 77)

按K1發(fā)05后死機.jpg

LED可以按AA55亮.jpg (787.43 KB, 下載次數(shù): 70)

LED可以按AA55亮.jpg

RS485發(fā)送接收.pdf

185.44 KB, 下載次數(shù): 4

RS485 普中.zip

35.21 KB, 下載次數(shù): 3

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2023-7-20 08:42 | 只看該作者
這還用說,程序邏輯時序不合理啊。
回復(fù)

使用道具 舉報

板凳
ID:161164 發(fā)表于 2023-7-20 09:22 | 只看該作者
代碼呢?
不貼代碼你猜我猜不猜得到你錯在哪?
回復(fù)

使用道具 舉報

地板
ID:74687 發(fā)表于 2023-7-20 09:28 | 只看該作者
一點代碼都沒有,你讓人猜?
回復(fù)

使用道具 舉報

5#
ID:320306 發(fā)表于 2023-7-20 09:42 | 只看該作者
是不是串口波特率設(shè)置不對,一個單片機是12T的,一個單片機是1T的原因?
回復(fù)

使用道具 舉報

6#
ID:1088946 發(fā)表于 2023-7-20 09:54 | 只看該作者
代碼發(fā)出來
回復(fù)

使用道具 舉報

7#
ID:860248 發(fā)表于 2023-7-20 12:37 | 只看該作者
不好意思
我有寫上代碼的,
但現(xiàn)在只有這幾句
我再POST一次
回復(fù)

使用道具 舉報

8#
ID:860248 發(fā)表于 2023-7-20 12:39 | 只看該作者
不好意思, 我有寫上代碼的, 但不知道為什么現(xiàn)在只得這這幾行, 我再POST一次
回復(fù)

使用道具 舉報

9#
ID:1089502 發(fā)表于 2023-7-24 18:09 | 只看該作者
以下是一些可能的原因和解決方法:

串口配置錯誤:請確保在移植代碼時,正確配置了普中A7和KST開發(fā)板的串口參數(shù),包括波特率、數(shù)據(jù)位、停止位和校驗位等。在您的情況下,確保它們與 SSCOM32 中的串口配置一致。

中斷處理錯誤:在移植過程中,確保正確處理 RS485 通信的中斷。請檢查您的代碼,確認中斷處理程序正確設(shè)置并及時清除中斷標志位。

GPIO 配置錯誤:驗證普中A7和KST開發(fā)板上使用的 GPIO 引腳與您的代碼中的配置相匹配。確保正確配置發(fā)送和接收方向控制引腳(如 DE/RE 引腳)以及其他必要的引腳。

電源供應(yīng)問題:RS485 通信需要穩(wěn)定的電源供應(yīng)。請確保在普中A7和KST開發(fā)板上使用充足的電源,并檢查供電電路是否穩(wěn)定。

通信超時或協(xié)議錯誤:檢查代碼中的通信超時設(shè)置和數(shù)據(jù)包解析邏輯。確保在通信時正確處理超時情況,并確保正確解析接收到的數(shù)據(jù)。

軟件Bug:進一步檢查代碼中的邏輯錯誤、緩沖區(qū)溢出或其他可能導(dǎo)致死機的軟件問題。您可以使用調(diào)試器或串口輸出來檢查程序的執(zhí)行流程和變量狀態(tài)。
回復(fù)

使用道具 舉報

10#
ID:752974 發(fā)表于 2023-7-25 08:56 | 只看該作者
看看收發(fā)控制位,如果有這個位,是不是不在一個IO上。
回復(fù)

使用道具 舉報

11#
ID:596109 發(fā)表于 2023-7-25 09:47 | 只看該作者
肯定是代碼邏輯出問題了,查查代碼吧
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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