![]() |
發布時間: 2020-6-9 16:35
正文摘要:剛拿到一塊板子,準備寫個小程序測試一下485.誰知道,怎么都調不出來! 單片機型號:STC12C5608AD 程序: #include <STC12C5630AD.H> #define uchar unsigned char #define uint unsigned int uchar flag = 1 ... |
已經解決了。原因是晶振沒有起振。 |
STC燒寫程序時特別注意:選擇使用內部時鐘是默認勾選的。一定要仔細看 |
看下晶振是否起振芯片是否正常啟動了,對一下上下位機的波特率。 |
看看波特率設置對不對,還有就是485的供電電壓 |
把AB兩端的接線倒換一下試試,有可能是接錯了。 這個必須得A接A,B接B |
有那種不需要控制腳的485IC |
RE_DE接VCC,那么整條485只有你這個站點可以發,別的所有站點都只能收! |
飲酒作樂 發表于 2020-6-16 08:05 這個怎么排查哦。我現在也是收到亂碼 |
串口芯片的2、3腳是收發控制腳,這個腳接收的時候必須是低電平,發送的時候必須是高電平,樓主把23腳直接接VCC,芯片處于發送狀態,怎么能正常接收哪? |
波特率是不是不同步,波特率不同步會收到亂碼 |
lichaooo 發表于 2020-6-10 13:25 剛才焊上去試了。沒用。問題不在這 |
lichaooo 發表于 2020-6-10 13:25 短距離也需要匹配120Ω電阻嗎? |
120歐電阻呢 |
MikeCai 發表于 2020-6-10 09:03 只用來發送,不準備用來接收也不可以直接接VCC么 。還有就是A B口需要接上拉電阻和下拉電阻么?不接的話有什么影響,可不可以通過軟件解決 |
1)485 是半雙工的,即,發送時,不能接收,所以max485 的RE,DE 不要接到 VCC ,另加一個讀寫控制腳來選擇發送,接收;發送完畢,立即換為接收。 2)發送,接收方的波特率等要相同 |
你好! 1、單片機晶振采用的多少 2、上位機和單片機波特率要一致 3、485的DE控制要對 4、上位機485接收采用的什么模塊 5、如需幫助,可以聯系我 |