国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

做一個類似京東的網(wǎng)站免費發(fā)布推廣的平臺

做一個類似京東的網(wǎng)站,免費發(fā)布推廣的平臺,深圳網(wǎng)站建設(shè) 樂云踐新,代理招商網(wǎng)免費加盟STM32 兩個單片機之間的通信 原創(chuàng) HS 平凡靈感碼頭 2025年03月04日 11:25 廣東 以上我們就是有A B兩個板子來進行通信,A板將接收按鍵的鍵值,然后發(fā)送給B板,B板接收鍵值,然后判斷鍵值控制LED翻轉(zhuǎn),然后把鍵值按字符形式…

STM32 兩個單片機之間的通信

原創(chuàng)?HS?平凡靈感碼頭?2025年03月04日 11:25?廣東

圖片

以上我們就是有A B兩個板子來進行通信,A板將接收按鍵的鍵值,然后發(fā)送給B板,B板接收鍵值,然后判斷鍵值控制LED翻轉(zhuǎn),然后把鍵值按字符形式發(fā)送給PC

主函數(shù)展示

#define?SENDA
int?main()
{
init(115200);
init_Usart2(115200);
Key_Init();
led_init();
u8 key;
u8 data;
while(1)
{
#ifdef SENDA ? ?//發(fā)送版
key = key_an();
if(key !=?0xff) send_Uart2(key);
#else?//接收板
data = rece_Uart2();
switch(data)
{
case?1: LED1_OVERTURN ; send_Uart(data+48);?break;
case?2: LED2_OVERTURN ; send_Uart(data+48);?break;
case?3: LED3_OVERTURN ; send_Uart(data+48);?break;
case?4: LED4_OVERTURN ; send_Uart(data+48);?break;
}
#endif
}
return?0;
}

關(guān)鍵代碼解釋

條件編譯

ifdef?SENDA??// 發(fā)送端代碼#else??// 接收端代碼#endif

通過是否定義?SENDA?宏,編譯不同的代碼段,實現(xiàn)同一份代碼適配發(fā)送/接收兩種硬件。就是先把A板發(fā)送端的代碼燒錄進去,接著我們把定義的#define?SENDA注釋掉,就可以把接受端的代碼燒錄進去,接著就連接兩個板子的PA2和PA3。就可以完成通信了。

按鍵檢測

?=?key_an(); ?// 獲取鍵值,0xff 表示無按鍵if?(key !=?0xff)?send_Uart2(key);?// 發(fā)送有效鍵值

發(fā)送端通過?key_an()?掃描按鍵,檢測到按鍵后通過 UART2 發(fā)送鍵值。

LED 控制

case?1: LED1_OVERTURN; send_Uart(data+48);?break;

LED1_OVERTURN?是翻轉(zhuǎn) LED1 狀態(tài)的宏,send_Uart(data+48)?將接收到的數(shù)字轉(zhuǎn)為 ASCII 字符(如?1?→?'1')通過主串口(如 UART1)發(fā)送,可能用于調(diào)試輸出。

1. 單片機通信的關(guān)鍵技術(shù)

(1) 硬件接口

單片機之間的通信依賴于?物理層接口,常見的硬件接口包括:

  • UART(串口通信)

    :常用于點對點通信,簡單易用,如?PA2(TX) ? PA3(RX)。

  • I2C(兩線通信)

    :適合多個設(shè)備通信,比如傳感器數(shù)據(jù)采集。

  • SPI(高速通信)

    :常用于高速數(shù)據(jù)傳輸,如屏幕驅(qū)動、SD 卡等。

  • CAN(車載總線)

    :用于汽車、工業(yè)控制,抗干擾能力強。

  • RS485(長距離通信)

    :適合多機通信,抗干擾能力強。

本次實驗采用?UART(串口通信),是一種最基礎(chǔ)、最常用的通信方式。


(2) 通信協(xié)議

通信協(xié)議?規(guī)定了數(shù)據(jù)的格式、傳輸順序、錯誤校驗等。常見的協(xié)議包括:

  • 自定義協(xié)議

    :簡單易用,比如本實驗中直接傳輸?按鍵鍵值。

  • 標(biāo)準(zhǔn)協(xié)議

    • Modbus(工業(yè)控制協(xié)議)
    • MQTT(物聯(lián)網(wǎng)協(xié)議)
    • Zigbee(無線通信協(xié)議)

在本實驗中,我們使用的是?簡單的自定義協(xié)議

  • 發(fā)送端(A 板):按鍵值?→ 通過 UART 發(fā)送

  • 接收端(B 板):解析鍵值?→ 控制 LED 并反饋給 PC


(3) 數(shù)據(jù)格式與編碼

  • ASCII 編碼

    :如?1 → '1'data + 48)。

  • 二進制數(shù)據(jù)

    :直接傳輸數(shù)值,如?0x01, 0x02。

  • 幀格式

    • 幀頭

      (表示數(shù)據(jù)起始)

    • 數(shù)據(jù)

      (按鍵值)

    • 校驗

      (確保數(shù)據(jù)正確性)

在本實驗中:

  • 直接使用?單字節(jié)數(shù)據(jù)?傳輸?按鍵值,簡單高效。


(4) 波特率、數(shù)據(jù)格式

  • 波特率(Baud rate)

    :決定數(shù)據(jù)傳輸速率,本實驗使用?115200。

  • 數(shù)據(jù)格式

    • 數(shù)據(jù)位

      :8 位

    • 停止位

      :1 位

    • 校驗位

      :無校驗(更簡單)

不同設(shè)備通信時,波特率、數(shù)據(jù)格式必須匹配,否則可能發(fā)生數(shù)據(jù)丟失或亂碼。


(5) 數(shù)據(jù)檢測與錯誤處理

  • 數(shù)據(jù)幀校驗(Checksum)

    :可以防止數(shù)據(jù)傳輸錯誤。

  • 超時機制

    :如果長時間未收到數(shù)據(jù),需要重新發(fā)送。

  • 去抖動處理

    :防止按鍵抖動導(dǎo)致誤觸發(fā)。

在本實驗中,簡單處理:

  • 接收數(shù)據(jù)后判斷是否為有效按鍵值

    1~4)。

  • 發(fā)送 ASCII 數(shù)據(jù)給 PC,方便調(diào)試

    。


2. 學(xué)習(xí)重點

(1) 串口通信(UART)

  • 熟練掌握?UART 初始化、發(fā)送、接收

  • 掌握?串口調(diào)試助手?的使用。

  • 理解?波特率、數(shù)據(jù)格式、校驗方式。

(2) 按鍵掃描

  • 理解?按鍵去抖動?方法(延時法、狀態(tài)機法)。

  • 能夠?檢測按鍵狀態(tài)?并發(fā)送數(shù)據(jù)。

(3) LED 控制

  • 掌握?GPIO 端口控制。

  • 學(xué)習(xí)?LED 翻轉(zhuǎn)(OVERTURN)實現(xiàn)。

(4) 代碼優(yōu)化

  • 掌握?條件編譯(#ifdef),便于在?發(fā)送端/接收端?之間切換。

  • 學(xué)習(xí)?如何設(shè)計通信協(xié)議(如加幀頭、校驗)。

(5) 調(diào)試技巧

  • 串口調(diào)試助手

    :用于觀察數(shù)據(jù)是否正確。

  • printf 調(diào)試

    :在 PC 端輸出接收數(shù)據(jù),便于分析問題。

  • 邏輯分析儀

    :用于檢查信號是否正確(高級調(diào)試)。


3. 進階學(xué)習(xí)方向

如果掌握了基本的 UART 通信,可以進一步學(xué)習(xí):

  1. I2C、SPI 通信

    :用于 LCD 顯示、傳感器讀取等。

  2. RS485、CAN 通信

    :用于工業(yè)總線、多設(shè)備通信。

  3. 無線通信(BLE、Wi-Fi、LoRa)

    :用于物聯(lián)網(wǎng)應(yīng)用。

  4. 嵌入式操作系統(tǒng)(RTOS)

    :用于多任務(wù)通信管理。

http://aloenet.com.cn/news/30689.html

相關(guān)文章:

  • 南京制作網(wǎng)站公司網(wǎng)站seo1視頻發(fā)布會
  • php動態(tài)網(wǎng)站開發(fā)案例教程china東莞seo
  • 蘇州網(wǎng)站制作設(shè)計西安網(wǎng)絡(luò)seo公司
  • wordpress限制ip訪問次數(shù)網(wǎng)站seo報價
  • 網(wǎng)站開發(fā)大學(xué)是什么專業(yè)中國目前最好的搜索引擎
  • wordpress怎么掙錢常見的系統(tǒng)優(yōu)化軟件
  • 蘇州實力做網(wǎng)站公司人員優(yōu)化方案怎么寫
  • 做微商進哪個網(wǎng)站安全蟻坊軟件輿情監(jiān)測系統(tǒng)
  • 網(wǎng)頁設(shè)計與制作教程西北工業(yè)大學(xué)廣州網(wǎng)站優(yōu)化步驟
  • 如何做高大上的網(wǎng)站 知乎企業(yè)營銷網(wǎng)站建設(shè)系統(tǒng)
  • 企業(yè)網(wǎng)站ppt怎么做百度搜索資源平臺官網(wǎng)
  • 如何做搜索引擎網(wǎng)站百度網(wǎng)站怎么提升排名
  • 什么是網(wǎng)站維護中營銷運營主要做什么
  • 互聯(lián)網(wǎng)行業(yè)分為哪幾類排名優(yōu)化方法
  • 提交網(wǎng)站汕頭seo推廣
  • 微信公眾號平臺網(wǎng)站開發(fā)百度天眼查公司
  • 用ps怎樣做網(wǎng)站文字logo廣豐網(wǎng)站seo
  • 個人怎么做貸款網(wǎng)站求購買鏈接
  • 網(wǎng)站權(quán)重高+做別的關(guān)鍵詞百度應(yīng)用下載安裝
  • 學(xué)做效果圖網(wǎng)站有哪些軟件有哪些網(wǎng)站建站方式有哪些
  • 有沒有做數(shù)學(xué)題掙錢的網(wǎng)站艾滋病多久可以查出來
  • 網(wǎng)站建設(shè)網(wǎng)站軟件有哪些方面深圳網(wǎng)站建設(shè)公司
  • 湖南住房和城鄉(xiāng)建設(shè)廳網(wǎng)站首頁優(yōu)化網(wǎng)站怎么真實點擊
  • 男女做a視頻網(wǎng)站seo1搬到哪里去了
  • wordpress 網(wǎng)站日志天門seo
  • 福建省住建廳建設(shè)網(wǎng)站競價培訓(xùn)班
  • 手機網(wǎng)站開發(fā)學(xué)習(xí)免費單頁網(wǎng)站在線制作
  • 可以用足球做的游戲視頻網(wǎng)站好的競價賬戶托管外包
  • 常規(guī)做網(wǎng)站要在工信部認(rèn)證嗎網(wǎng)站建立
  • 適合個人做的網(wǎng)站有哪些東西嗎百度權(quán)重批量查詢