实验目的:

串口的使用对于我们开发调试过程中的作用是非常之大,可以用来查看,打印以及输入相关信息。所 以对串口的调试使用要熟练掌握。

实验内容:

编写串口 1 数据收发程序。调试编译好程序后,将程序下载到 FS-STM32F407 开发板,按复位键观察 到串口收到数据后,向串口发送字符或者字符串,观察实验现象。

一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
并行通信和串行通信:

单片机与外界通信的基本方式有两种:并行通信和串行通信,串口属于串行通信。并行通信是指利用多条数据传输线将一个数据的各位同时发送或接收。串行通信是指利用一条传输线将数据一位位地顺序发送或接收。

STM32 串口设置一般可以总结为如下几个步骤:

1)串口时钟使能,GPIO 时钟使能

2)设置引脚复用映射

3GPIO 初始化设置,模式为复用功能

4)串口参数初始化:设置波特率,字长,奇偶校验等参数

5)开启中断并初始化 NVIC,使能中断(如果需要开启中断才需要这个步骤)

6)使能串口

7)编写中断处理函数

状态寄存器描述:

USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)

通用同步/异步串行接收/发送器

USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。

实验过程 :

配置串口参数

把中断打开

点击 CLOCK CONFIGURATION 对时钟进行设置

关键代码修改:

main.c

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration----------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* Configure the system clock */SystemClock_Config();/* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */printf("\n\r");printf("\n\r-------------------------------------\r\n");printf("\n\r FS-STM32¿ª·¢°å ´®¿ÚÖжϲâÊÔÀý³Ì\r\n");/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */HAL_UART_Receive_IT(&huart1,Buff,5);}/* USER CODE END 3 */}

使用串口调试工具查看数据接收结果:

STM32开发板学习笔记【5】UART 串口 1 数据收发实验相关推荐

  1. 【嵌入式小白学习】--在STM32开发板上实现简单的串口通信

    嵌入式小白学习--在STM32开发板上实现简单的串口通信 这里写目录标题 嵌入式小白学习--在STM32开发板上实现简单的串口通信 Part1. STM32环境的搭建 Part2. 编写代码 Part ...

  2. 阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来

    摘要:无论是哪种开发板,要想开发特定的功能,必先从GPIO开始,HaaS100开发也是一样.如果仅仅利用HaaS100的联网功能,那简直是太浪费了.HaaS100拥有其他开发板所具备的所有的功能,比如 ...

  3. 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台

    摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...

  4. 阿里云HaaS100物联网开发板学习笔记(三)轻应用初步--用js让小灯闪烁起来

    摘要:能让JavaScript应用运行在haas100开发板上,这实在是太酷了,这种方式被阿里云称之为"轻应用".本文带各位从零开始,先了解啥是轻应用,然后搭建环境,再一步步将一个 ...

  5. 涂鸦LZ201-CN开发板学习笔记(一)

    涂鸦LZ201-CN开发板学习笔记(一) 前言 一.引出 二.准备流程 1.购买开发板 2.创建产品 (1)创建产品 (2)功能定义 (3)设备交互 (4)硬件开发 3.检查开发板 第一步: 第二步: ...

  6. HaaS600物联网开发板学习笔记(二)---轻应用方式让LED闪烁起来

    摘要:轻应用开发非常方便快捷,gitee上的例程也都是基于HaaS600的,所以,拿HaaS600来逐个测试例程,学习轻应用开发和物联网应用是最合适的.本文介绍一下HaaS600如何使用轻应用来开发. ...

  7. 华清远见fs4412开发板学习笔记(五)

    fs4412开发板学习笔记(五) 作业1: 输入10个整数,按从小到大的顺序输出(选择排序) 每轮排序在未排序的集合中找到(最小/最大),将找到的数与未排序的 第一个数交换位置. 5 4 3 2 1 ...

  8. 阿里云HaaS100物联网开发板学习笔记(六)做个智能灯---一个完整的开发例子

    摘要:本篇文章将前期几个专题综合起来,基于阿里云HaaS100的新固件设计制作一个智能灯.这个智能灯由云平台.手机APP端和设备端组成,基本上涵盖了一个物联网小项目所需的主要步骤. 目录 1.在阿里云 ...

  9. iTOP-RK3568开发板学习笔记(1)编译+烧录系统

    迅为 RK3568 开发板学习笔记 文章目录 准备开发环境 复制 Linux SDK 编译 Buildroot 烧录固件 准备开发环境 将 ITOP-RK3568 资料包中的虚拟机开发环境解压到自己的 ...

最新文章

  1. golang 请求带验证信息的坑
  2. oracle收集统计信息sql,Oracle自动统计信息的收集原理及实验
  3. 如何在vue中使用剪裁图片插件cropperImage
  4. [原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)
  5. 大事件后台管理系统开发实战(上)
  6. 当一个GameObject有两个Collider组件时,Physics Material不起作用
  7. JAVA“类”数组的创建与调用
  8. Objective C类方法load和initialize的区别
  9. 小米发布了10款可以免费商用的字体MiSans字体(含下载地址)
  10. vscode markdown preview enhanced css font
  11. STM32串口通信编程
  12. 佳能计算机使用方法,佳能扫描仪怎么用?佳能扫描仪使用方法
  13. win7 64位系统下 Logitech(罗技) M555b蓝牙鼠标断线解决办法
  14. uniapp easycom教程
  15. (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  16. Qt之QImage类
  17. Kubernetes1.13集群安装dashboard 1.10.1
  18. 平面设计色彩里面的色相、纯度、明度关系是什么
  19. 第58节:Java中的图形界面编程-GUI
  20. pytorch 层标准化 LayerNorm 的用法

热门文章

  1. OleDbDataAdapter里的update方法问题
  2. com.android.smapu,AMD APU规格特性解析
  3. ESP32-USB Serial/JTAG Controller使用
  4. jq Sortable的使用
  5. 【蓝桥杯选拔赛真题29】Scratch男人女人小孩 少儿编程scratch蓝桥杯选拔赛真题讲解
  6. python装饰器wraps
  7. 结构体知识点内存对齐位段、枚举、联合
  8. 《童梦奇缘-梦幻般的羁绊》第五章-长河
  9. dnf进游戏找不到服务器,进游戏卡在正在连接服务器,求救!!
  10. 失去最大金主“接盘”,潘石屹筹谋多年的“大撤退”,已经破产?