久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3293|回復: 0
打印 上一主題 下一主題
收起左側

STM32多機通信

[復制鏈接]
跳轉到指定樓層
樓主
ID:80436 發表于 2015-5-20 14:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
利用USART可以進行多機處理器通信,其原理就是使從機處于靜默模式,由主機在需要的時候發送指令喚醒從機,并傳輸數據。STM32靜默模式特點:1、所有接收狀態位都不會被設置;2、所有的接收中斷都被禁止;3、USART_CR1寄存器中的RWU位被置1RUW可以硬件自動控制或者在某些條件下由軟件寫。  連接方法很簡單,主機的TX輸出與從機的RX端口直接相連,從機TX端口要經過與非門與主機RX端口連接。
多機通信方式有2種:空閑幀喚醒和地址喚醒。
空閑幀喚醒可以同時喚醒所有從機,在從機處于靜默模式時發送空閑幀(即所有位均為1的數據),喚醒多個從機,實現多個從機同步。
地址喚醒可以喚醒單個從機,從機靜默時發送地址幀,從機自動對比地址,地址配對正確則該從機喚醒,否則繼續進入靜默。這樣只有被尋址者才被激活,來接收數據,減少由未被尋址的接收機器參與帶來的多余的USART服務開銷。這種模式下,MSB1的字節被認為是地址,否則被認為是數據(MSB一般為數據傳送的最高位,8位傳送則MSB為第八位;9位傳送則MSB為第九位)。在一個地址字節中,目標接收者的地址放在低4位。這4位會被接收器拿來和設置在USART_CR2寄存器中ADD位中的自身地址比較。當接收到一個和設置地址相匹配的地址字符時,RWN被清除,后面的字節將正常接收。因為RWU位已經被清除,RXEN位會因為接收到地址符被置1。當從機再次接收到地址符,如若地址不匹配則從機再次進入靜默模式。
程序實際編寫時可以注意以下3部分的設置:
一、設置靜默模式:

函數原形
void USART_WakeUpConfig(USART_TypeDef* USARTx,
u16 USART_WakeUp)

其中 USART_WakeUpUSART 的喚醒方式:
1、 USART_WakeUp_IdleLine  空閑總線喚醒
2、 USART_WakeUp_AddressMark  地址標記喚醒
   二、地址喚醒中地址設置:
      函數原形
void USART_SetAddress(USART_TypeDef* USARTx,
u8 USART_Address)

      其中USART_Address:是設置 USART 節點的地址。
      例如:USART_SetAddress(USART2, 0x5);
   三、檢查是否進入靜默:
      函數原形
void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx,
FunctionalState Newstate)

      其中NewState: USART 靜默模式的新狀態這個參數可以。ENABLE 或者 DISABLE。



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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产高清在线观看 | 91精选视频 | 亚洲一区久久 | 色婷婷综合网 | 香蕉在线观看 | 亚洲国产日韩在线 | 大乳女喂男人吃奶 | 日韩精品一 | 欧美偷拍视频 | 97精品超碰一区二区三区 | 日韩av不卡在线观看 | 国产成人三级一区二区在线观看一 | 亚洲毛片在线 | 在线观看亚洲精品 | 午夜网址 | 一级片中文字幕 | 欧美视频二区 | 亚洲黄色av | 国产成人精品一区二区三区福利 | 成人三级在线观看 | 婷婷综合| 大乳女喂男人吃奶 | 一级片日韩 | 欧美性色网 | 91玖玖| 狠狠干| 久久99久久99 | 丨国产丨调教丨91丨 | 91免费黄色 | 亚洲一区二区欧美 | av网站免费观看 | 四虎成人精品 | 亚洲天天看 | 一级片免费视频 | 日本免费观看视频 | 国产一区精品在线 | 色黄大色黄女片免费中国 | 亚洲天堂2014 | 黄色a一级 | 久久久久久久久国产 | 欧美爱爱网 |