小白轉行入門STM32----手機藍牙控制STM32單片機點亮LED

目錄

  • 引言導讀
  • 一、通信基礎知識
    • 習題
    • 習題
    • 習題
    • 1.1 通信到底傳輸的是什么?
    • 1.2 比特率和波特率
    • 1.1 雙工和單工
    • 1.2 串行和并行
    • 1.3 異同通信和同步通信
  • 二、連接STM32單片機
    • 【小白轉行入門STM32----手機藍牙控制STM32單片機點亮LED】2.2.1 接線圖
    • 2.2.1 硬件介紹和設置
    • 2.1 編程環境
    • 2.2 硬件接線
    • 2.3 編碼
    • 2.3 手機控制二極管
引言導讀
  1. 本文適合小白簡單入門,大神請繞行 。想講的盡量透徹 , 所以篇幅啰嗦 , 介意的繞行 。
  2. 藍牙模塊基本是通用的,所以看這一篇教程,如果你的藍牙模塊與我的不一樣 , 也不要擔心 , 原理是通的 。
  3. 藍牙是通信的一種 , 故想要學好STM32與藍牙連接,掌握一點點基本通信知識是需要的 。
  4. 本次涉及到的硬件包括STM32F103C8T6最小系統板(其實其他版本都是可以的)和藍牙模塊買的是集芯微的BLE5.0(這家挺便宜,就是資料少,JDY-31 , HC-06等都可以),此外還需要面包板和杜邦線若干 。
  5. 買的藍牙模塊沒有焊接排針,而且竟然是小號排針,又手殘焊接不好 。最后,買了錫膏和熱風機焊接,小號排針用網線代替了(網線也可以當作杜邦線用) 。不過錫膏有毒,所以焊接時候注意通風,使用時最好帶手套或者之類的,具體自動百度或者bilibili 。
一、通信基礎知識1.1 通信到底傳輸的是什么?在邏輯層面 , 通信傳輸的是比特也就是二進制數 。在物理層面上,當線路為電路時,發送方發送一個個持續小段時間的電壓信號來表示這些二進制數,比如雙方約定一個0.001秒的0V代表數字0 , 5V代表數字1,發送方發送先后發送兩個持續0.001秒的0V和一個0.001秒的5V,就是相當于發送了001 。這種持續一段時間的電壓信號就是碼元 。當線路為無線電波時,碼元就是一份份的電波了 。由于電信號是一種波,所以可以認為我們在線路上傳輸了一個個波 。
1.2 比特率和波特率通信速度有多快呢?在邏輯層面上,用比特率(Bitrate)來衡量 , 它代表單位時間內傳輸的bit數量,單位是bit/s 。在物理層面上,使用波特率(Baudrate),它表示單位時間內傳輸的碼元(即 , 波)數量,碼元就是上面的提到的電平信號,所以叫做波特率 。通常下一個碼元代表一個二進制數,這時比特率和波特率是相等 。也有不等的時候,比如用0V表示0,2V表示1,4V表示2,6V表示3,這時候一個碼元代表一個四進制數,則比特率是波特率的二倍 。
習題開放題目,言之成理即可,只考慮一般情形,不考慮特殊情況 。
  1. 比特率和波特率的區別和聯系?
1.1 雙工和單工通信類似于AB市通車,碼元類似于一輛輛汽車 。
名詞定義例子單工通信通信線路是單向,從始至終都是發送方和接收方是固定的車子只能從A市到B市,B市的車子不能開往A市 。雙工通信線路是雙向,數據可以從A流向B,也可以從B流向A,即通信雙方都可以發信息給對方 , 又可以分為半雙工和全雙工A市的車可以開到B市 , B市的車子也可以到A市 。全雙工線路全時段對雙方開放 , 任何時間任何一方都可以發送信息給對方AB市之間路很寬,兩市間車子可以自由來往半雙工線路只能在某段時間內對某方開放,雙方輪流使用線路,即指某時間內,只能一方發送一方接受 。AB兩個城市間公路很窄 , 只能容納一輛車通行,AB兩方約定8點-9點是車子只能從A市到B,9-10點是B市到A市,這樣輪流交替 。單工和雙工是對應的,按照線路是雙向的還是單向的進行劃分 。全雙工和半雙工是成對,他們是按照線路是否全時間段對雙方開放使用 。
全雙工比半雙工要復雜,效率高,發送數據多,成本更高 。半雙工要簡單,雙方需要約定好時間,不然會撞車 。
習題開放題目,言之成理即可,只考慮一般情形,不考慮特殊情況 。
  1. 兩人交談屬于哪種通信?
  2. 校會上,校長發言屬于哪種通信?

    推薦閱讀