從機io口設置
多機通信系統中,從機采用漏級開路方式連接,從設備的串口必須配置為漏極開路,不能是推挽方式,推挽方式的高、低電平的驅動能力很強,如果將兩個不同電平的io口連接在一起,會導致灌電流過大燒壞io口,漏極開路的漏級有上拉電阻會限制電流的大小。
一主多從的硬件連接方式
主機的TX輸出與從機的RX端口直接相連,從機的TX端口經過與門與主機的RX端口相連接。由于輸出口為推挽輸出,直接將從機的Tx與主機的RX相連即可。
通信機制
多機通信機制是使從機處于靜默狀態,從機發送指令喚醒從機,然后發送數據。
靜默狀態的特點
(1)所有接收狀態都不會被置為1。
(2)所有的接收中斷都被禁止。
(3)USART_CR1寄存器中的RWU被置為1;RWU可以由硬件制動控制,或在特定的條件 下由軟件寫入。
(4)根據USART_CR1中WAKE位的設置情況,USART有兩種喚醒方式
1、WAKE = 0時,進行空閑線路檢測。
2、WAKE = 1時,進行地質標記檢測。
喚醒方式
1、空閑線路檢測喚醒機制
當WAKE = 0,RWU被置為1時,讓RX端口接收到TX發出的空閑幀時,從機便會被喚醒。此時由RWU被硬件置為 0,但USART_sR1中的IDLE不會置1。也可以通過軟件清零RWU。這種模式可以喚醒所有從機,實現多機同步。
2、地址標記檢測喚醒機制
原理:當從機處于靜默狀態時,主機發送地址,從機會接收并與自身設置的地址相比較,如果一樣則被喚醒,否則繼續處于靜默狀態。
接收寄存器的地址存放在USART_CR2的ADD上,一共4位。
發送的地址有兩種格式:
(1)地址為8bit,最高位為MSB,且必須設置為1
(2)地址為9bit,最高位為MSB,且必須設置為1
對應的API函數
(1)使能靜默函數: void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx, FunctionalState Newstate)
USARTx:串口號
Newstate = ENABLE 使能進入靜默模式
DISABLE 退出靜默模式
(2)設置喚醒模式:void USART_WakeUpConfig(USART_TypeDef* USARTx, u16 USART_WakeUp)
USARTx:串口號
USART_WakeUp:喚醒方式
USART_WakeUp = USART_WakeUp_IdleLine 空閑檢測喚醒
USART_WakeUp = USART_WakeUp_ AddressMark 地址標記檢測喚醒發
AddressMark
(3)設置串口地址:void USART_SetAddress(USART_TypeDef*U
S
ARTx, u8 USATR_Address)
AddressMark
USARTx:串口號 USATR_Address:地址,低四位有效。
上一篇:STM32學習之ADC
下一篇:STM32獨立看門狗IWDG
推薦閱讀最新更新時間:2025-05-21 14:02



設計資源 培訓 開發板 精華推薦
- LT1170CQ、12V/5A 負至正降壓-升壓轉換器的典型應用
- 使用 ROHM Semiconductor 的 BD5352 的參考設計
- DK-DEV-3SL150NES,Stratix III 開發板為低功耗開發和原型設計提供硬件平臺
- LTC6990IDCB#TRMPBF 光到頻率轉換器的典型應用。 fOUT 至 -1.4kHz 每微安光電二極管電流 IPD
- AM1D-1505S-RZ 5V 1W DC-DC 轉換器的典型應用
- AM1/4S-2424SH30Z 24V 0.25 瓦 DC-DC 轉換器的典型應用
- TC1016/17EV,用于 TC1017 LDO 線性穩壓器的評估板
- 溫濕度傳感器模塊(原理圖+程序+說明文檔).rar
- 80元用主機散熱風扇改裝焊接排煙風機
- AM1G-0509DZ ±9V 1 瓦 DC-DC 轉換器的典型應用