[Day 27]-【STM32系列】UART/USART RX 资料接收篇(下)

昨日[Day 26]-【STM32系列】UART/USART TX 资料传送篇(上)我们体验了UART/USART 关於用三种方法传送资料,今天要带大家体验接收数据的方法,一样我会使用这三种方法,并展现这三种方法的区别,方法如下:

  • 使用轮询-> HAL_UART_Receive
  • 使用中断—> HAL_UART_Receive_IT
  • 使用DMA-> HAL_UART_Receive_DMA

再次复习三种

  1. 轮询(Polling):就是阻塞式询问,CPU都不干别的事了,就整天在那边问你说:「现在有没有要传资料啊?」没有要传我就继续等,总是在那边询问、等待。这种方最土法炼钢、这就是轮询的缺点,效率太低,占用cpu时间。

  2. 中断(Interrupt):没有收到数据时,执行其他的程序,收到数据後,进入中断处理通讯。与轮询相对来说,不用循环查询状态暂存器,可以有更多的时间运行其他程序。

  3. DMA(Direct Memory Access):直接记忆体存取。串列数据的接收与发送由DMA处理,DMA说:「我把接收、传送的资料放在记忆体的某个位置,你如果需要就自己去那个位置提取」。DMA也可以分为轮询与中断方式。资料的发送与接收都不用CPU干预,通过DMA进行。 CPU有更多的时间运行其他程序。


Nucleo-64 boards (MB1136) - 6.8 USART communication

预设STM32微控制器的PA2(TX)和PA3(RX)上的USART2端口连接到 ST-LINK 烧录器连接到你的电脑,代表只要开启UART2并插上USB就可以与电脑连线,如果你想用UART2与其他扩充板通讯,可以将你Nucle开发板上SB62、SB63短路, SB13、SB14开路(原始状态SB62、SB63开路, SB13、SB14短路)。

在这种情况下,可以将其他USART端口接到ST-LINK 烧录器, 例如,在NUCLEO-L053R8上,可以使用PA2 (TX)和PA3(RX)上的USART2。 需要连接两条跳线:

  • PA2(USART2_TX)在CN9 TX/D1 连接至 CN3 引脚 RX上
  • PA3(USART2_RX)在CN9 RX/D0 连接至 CN3 引脚 TX上

Hercules setup utility

今天一样会用到它,hercules setup utility一个好用的Socket测试工具,我们将用它来接收、发送UART/USART数据,请先官网下载:https://www.hw-group.com/software/hercules-setup-utility
https://ithelp.ithome.com.tw/upload/images/20201012/20120093fDSq7GwhGL.png



相关连结


结语

有地震!有地震!为甚麽台湾地震直播瞬间标好几千人啊XD!


<<:  【Day 27】好用的 JavaScript 动态提示工具库 - Tippy.js

>>:  Day 27 Quantum Protocols and Quantum Algorithms

Day13 订单 -- 基础结构

接下来资料库的部份会用到laravel schema,因为个人觉得比较好看.... 理解上应该不会差...

Day 30:Google Map 结合口罩资料 & 铁人赛最後一天

本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtu...

[Day 21] Leetcode 560. Subarray Sum Equals K (C++)

前言 今天这题也是来自top 100 liked的题目,题目是:560. Subarray Sum ...

【Day 09】 实作 - 透过 AWS 服务 - AppFlow 把 Google Analytics 资料存放至 AWS 中 ( 2 )

大家好~昨天我们建立好 Google Analytics 与 AWS 连线,现在我们就可以透过 AW...

[Android Studio菜鸟的学习分享]我不是机器人-Google reCAPTCHA

Google reCAPTCHA是Google开发的防堵机器人验证API, 原本是设计给网页使用, ...