小白转行入门STM32----手机蓝牙控制STM32单片机点亮LED( 二 )


全双工比半双工要复杂 , 效率高 , 发送数据多 , 成本更高 。半双工要简单 , 双方需要约定好时间 , 不然会撞车 。
习题开放题目 , 言之成理即可 , 只考虑一般情形 , 不考虑特殊情况 。

  1. 两人交谈属于哪种通信?
  2. 校会上 , 校长发言属于哪种通信?
  3. 两人吵架属于哪种通信?
  4. 上课传纸条属于哪种通信?
1.2 串行和并行并行通信指双方之间通过多根信息线(8根以上)传输数据 , 数据可以并行传输 , 即公路很宽能够容纳多辆车并行行驶 。串行通信指双方之间通过很少根信息线(8根及以下)传输数据 , 数据犹如被一根线串起来的珍珠 , 所以叫做串行 。
串行通信抗干扰能力强 , 线路铺设费用低 , 速率低 。
1.3 异同通信和同步通信为什么要有同步和异步 , 或者它们是怎么来的?要想回答这个问题 , 我们需要考虑一个场景:如何传输大量数据?这个问题是没有完美解决方法的 , 但是最优方法是:当传输线路等硬件既定时 , 在线路满负荷下可以最快完成数据传输 , 也就是说:发送方马不停蹄地发送数据 , 接收方也及时接收信息 , 同时为了尽可能保证数据传输安全性 , 接受方接受一个信息后要给一个是否成功接收的状态 , 发送方在接受这个状态后才能发送下一个信息 。实现这种马不停蹄 , 最简单是双方按同一套时间步调一致发送、接收和检验信息 , 就像生产线一样 , 每个人在规定的时间内步调一致地完成各自的动作 , 以达到效率最高 。这就是同步通信过程 。
异步通信则是为了完成小数据量传输 , 比如操控遥控车 , 这种场景下通常发送方不定时地发送少量信息 , 接收方接收后无需回复 。相比于同步通信这是不安全的 , 但是这无所谓 , 可以通过其他方式来修正这种不安全 。比如:遥控汽车 , 因为某个因素 , 汽车没有接受到转向 , 那么人会再次操作一遍转向操作 , 问题不大 。异步通信就不要求双方在同一套时间下进行同步操作 , 只要它们是相近的时间就好 。但是 , 双方要有相同的波特率 。
这里的时间 , 其实就是时钟周期 , 类似于人把时间分为年月周日时分秒 , 时钟周期是把1秒分为很多份 , 是芯片设备的时间 。
习题
  1. 在异步通信中 , 为什么通常情况下 , 双方要保持一样的波特率?
二、连接STM32单片机下面进入正题
2.1 编程环境
  1. CubeIDE
  2. 面包板和连接线
2.2 硬件接线下面给出了接线图 , 
2.2.1 接线图
小白转行入门STM32----手机蓝牙控制STM32单片机点亮LED

文章插图
2.2.1 硬件介绍和设置買的蓝牙模块如上图 , 其VDD GND是接输入电源的正负极 , 他要求输入3.3V电压 , 我用的STM32板子上的电源 。RXD  TXD是用于连接STM32板子的 , RXD是receive external data引脚 , 用于接收来自单片机的信息 , TXD引脚用于向单片机发送信息 。买的模块一般都附赠规格说明书 , 比如引脚、电压、模块默认蓝牙名字和波特率等 。

经验总结扩展阅读