欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
STM32多機(jī)通信
[打印本頁]
作者:
liuqq
時(shí)間:
2015-5-20 14:25
標(biāo)題:
STM32多機(jī)通信
利用
USART
可以進(jìn)行
多機(jī)處理器通信
,
其原理就是使從機(jī)處于靜默模式,由主機(jī)在需要的時(shí)候發(fā)送指令喚醒從機(jī),并傳輸數(shù)據(jù)。
STM32
靜默模式特點(diǎn):
1
、所有接收狀態(tài)位都不會(huì)被設(shè)置;
2
、所有的接收中斷都被禁止;
3
、
USART_CR1
寄存器中的
RWU
位被置
1
,
RUW
可以硬件自動(dòng)控制或者在某些條件下由軟件寫。
連接方法很簡單,主機(jī)的
TX
輸出與從機(jī)的
RX
端口直接相連,從機(jī)
TX
端口要經(jīng)過與非門與主機(jī)
RX
端口連接。
多機(jī)通信方式有
2
種:
空閑
幀喚醒和
地址
喚醒。
空閑幀喚醒可以同時(shí)喚醒所有從機(jī),在從機(jī)處于靜默模式時(shí)發(fā)送空閑幀(即所有位均為
1
的數(shù)據(jù)),喚醒多個(gè)從機(jī),實(shí)現(xiàn)多個(gè)從機(jī)同步。
地址喚醒可以喚醒單個(gè)從機(jī),從機(jī)靜默時(shí)發(fā)送地址幀,從機(jī)自動(dòng)對(duì)比地址,地址配對(duì)正確則該從機(jī)喚醒,否則繼續(xù)進(jìn)入靜默。這樣只有被尋址者才被激活,來接收數(shù)據(jù),減少由未被尋址的接收機(jī)器參與帶來的多余的
USART
服務(wù)開銷。這種模式下,
MSB
為
1
的字節(jié)被認(rèn)為是地址,否則被認(rèn)為是數(shù)據(jù)(
MSB
一般為數(shù)據(jù)傳送的最高位,
8
位傳送則
MSB
為第八位;
9
位傳送則
MSB
為第九位)。在一個(gè)地址字節(jié)中,目標(biāo)接收者的地址放在低
4
位。這
4
位會(huì)被接收器拿來和設(shè)置在
USART_CR2
寄存器中
ADD
位中的自身地址比較。當(dāng)接收到一個(gè)和設(shè)置地址相匹配的地址字符時(shí),
RWN
被清除,后面的字節(jié)將正常接收。因?yàn)?/font>
RWU
位已經(jīng)被清除,
RXEN
位會(huì)因?yàn)榻邮盏降刂贩恢?/font>
1
。當(dāng)從機(jī)再次接收到地址符,如若地址不匹配則從機(jī)再次進(jìn)入靜默模式。
程序?qū)嶋H編寫時(shí)可以注意以下
3
部分的設(shè)置:
一、設(shè)置靜默模式:
函數(shù)原形
void USART_WakeUpConfig(USART_TypeDef* USARTx,
u16 USART_WakeUp
)
其中
USART_WakeUp
:
USART
的喚醒方式:
1
、
USART_WakeUp_
IdleLine
空閑總線喚醒
2
、
USART_WakeUp_
AddressMark
地址標(biāo)記喚醒
二、地址喚醒中地址設(shè)置:
函數(shù)原形
void USART_SetAddress(USART_TypeDef* USARTx,
u8 USART_Address
)
其中
USART_Address
:是設(shè)置
USART
節(jié)點(diǎn)的地址。
例如:
USART_SetAddress(USART2, 0x5);
三、檢查是否進(jìn)入靜默:
函數(shù)原形
void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx,
FunctionalState Newstate
)
其中
NewState: USART
靜默模式的新狀態(tài)這個(gè)參數(shù)可以取:
ENABLE
或者
DISABLE
。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1