找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32C8T6單片機(jī)如何讓三串口同時(shí)通信不出現(xiàn)相互干擾?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:506700 發(fā)表于 2022-1-4 16:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
目前在做一個(gè)工業(yè)控制電機(jī)同時(shí)還要采集傳感器數(shù)據(jù)項(xiàng)目遇到個(gè)問題,單片機(jī)芯片用的stm32c8t6用了3個(gè)串口,協(xié)議是MODBUS_RTU串口協(xié)議,一個(gè)串口接MCGS屏幕就地控制(就地屏幕是主機(jī),板子是從機(jī)),一個(gè)串口接遠(yuǎn)程控制(遠(yuǎn)程屏幕是主機(jī),板子是從機(jī)),還有一個(gè)串口接傳感器接收數(shù)據(jù)(板子是主機(jī),傳感器是從機(jī)),屏幕是500ms采集一次 200ms等待時(shí)間,遠(yuǎn)程也是一樣。但是會出現(xiàn)一個(gè)問題就是遠(yuǎn)程控制的時(shí)候,經(jīng)常會打斷就地屏幕上的數(shù)據(jù)采集,屏幕是MCGS,一旦被打斷就會顯示通信錯(cuò)誤。如何能做到3個(gè)串口同時(shí)通信(一直收發(fā)數(shù)據(jù))而互不干擾,沒有用ucos,寫的裸程序。有沒有大佬給個(gè)思路...感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2022-1-4 17:33 | 只看該作者
接收中斷里面只負(fù)責(zé)接收數(shù)據(jù)放到隊(duì)列里面,主循環(huán)里面處理接收數(shù)據(jù)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:313048 發(fā)表于 2022-1-4 18:09 | 只看該作者
每個(gè)串口獨(dú)立中斷,像沙發(fā)所說,中斷里面做數(shù)據(jù)接收,弄3個(gè)循環(huán)隊(duì)列存儲數(shù)據(jù),在主函數(shù)里面去做相應(yīng)的處理就可以了。
回復(fù)

使用道具 舉報(bào)

地板
ID:506700 發(fā)表于 2022-1-5 08:51 | 只看該作者
AUG 發(fā)表于 2022-1-4 18:09
每個(gè)串口獨(dú)立中斷,像沙發(fā)所說,中斷里面做數(shù)據(jù)接收,弄3個(gè)循環(huán)隊(duì)列存儲數(shù)據(jù),在主函數(shù)里面去做相應(yīng)的處理 ...

我去試一試
回復(fù)

使用道具 舉報(bào)

5#
ID:506700 發(fā)表于 2022-1-5 08:51 | 只看該作者
Hephaestus 發(fā)表于 2022-1-4 17:33
接收中斷里面只負(fù)責(zé)接收數(shù)據(jù)放到隊(duì)列里面,主循環(huán)里面處理接收數(shù)據(jù)。

我去試試,十分感謝
回復(fù)

使用道具 舉報(bào)

6#
ID:506700 發(fā)表于 2022-1-5 08:52 | 只看該作者
AUG 發(fā)表于 2022-1-4 18:09
每個(gè)串口獨(dú)立中斷,像沙發(fā)所說,中斷里面做數(shù)據(jù)接收,弄3個(gè)循環(huán)隊(duì)列存儲數(shù)據(jù),在主函數(shù)里面去做相應(yīng)的處理 ...

非常非常謝謝
回復(fù)

使用道具 舉報(bào)

7#
ID:592807 發(fā)表于 2022-1-5 08:55 | 只看該作者
我覺得你應(yīng)該學(xué)習(xí)一下硬漢的USART_FIFO模式,據(jù)說他最多能同時(shí)驅(qū)動(dòng)6個(gè)串口。硬漢永遠(yuǎn)的神

usart_fifo.rar

7.35 KB, 下載次數(shù): 40

回復(fù)

使用道具 舉報(bào)

8#
ID:506700 發(fā)表于 2022-1-5 11:21 | 只看該作者
Hephaestus 發(fā)表于 2022-1-4 17:33
接收中斷里面只負(fù)責(zé)接收數(shù)據(jù)放到隊(duì)列里面,主循環(huán)里面處理接收數(shù)據(jù)。

但是我有一個(gè)定時(shí)器要給傳感器每200ms發(fā)送命令,這個(gè)會影響main函數(shù)里面的操作嗎?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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