STM32 基础系列教程 10 - 单线串口(半双工)
前言
在工程应用中,很多时间为了方便走线会采用单线串口方案,本节将学习stm32 usart单线串口的使用,学会用使用单线串口收发数据。
示例详解
基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。
本示例所用的最小系统板原理图:
- 从本节开始,关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:
- 系统时钟树
- USART1配置
- 引脚配置(保持默认即可)
引脚保持默认即可,当然实际应用中可以根据自己的需求对其进行重映射。
- 中断配置
- 工程代码
- 在main.c 中加入如下图所示代码:
要使上面代码能成功在串口一打印出数据还需实现 fputc 函数,具体实现如下:
- 同时在stm32f1xx_it.c中加入
注意记得在文件中包含usart.h头文件,
- 在usart.c 及usart.h中加入以下代码
- 到此,使用stm32单线串口的收发实验就此完成,在这个实验中我们学习了单线串口的接收与发送操作,并用printf()函数实现在串口中输出数据,将MCU的PA9(TX)引脚接到串口工具并用串口上位机往串口发送数据,程序会将上位机发送的数据返回给上位机!实验效果如下:
OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!
文中资料下载,在公众号里给十三发消息:
下载|STM32基础系列教程10
关注十三公众号
STM32 基础系列教程 10 - 单线串口(半双工)相关推荐
- STM32 基础系列教程 9 – 串口通信
前言 学习stm32 usart串口的使用,学会用Printf() 函数打印信息. 示例详解 基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用 ...
- STM32 基础系列教程 50 – MbedTls
前言 mbed TLS(以前称为PolarSSL)是TLS和SSL协议的实现,并且需要相应的加密算法和支持代码.这是双重许可与Apache许可证 2.0版(与GPLv2许可也可).网站上指出,mbed ...
- STM32 基础系列教程 49 – Jansson
前言 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全 ...
- STM32 基础系列教程 48 – CJSON
前言 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全 ...
- STM32 基础系列教程 47 - MD5
前言 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信 ...
- STM32 基础系列教程 46 – RNG
前言 随机数发生器(RNG)是一个以连续模拟噪声为基础的随机数发生器,在主机读数时提供一个 32 位的随机数.STM32F407自带RNG ,本节将给大演示STM32F4系列MCU中的RNG的使用.用 ...
- STM32 基础系列教程 45 - FSMC_LCD_Touch
前言 上一节我们完成了用 STM32F4的 FSMC接口来控制 TFTLCD的显示的操作,其实正点原子的探索者F4开发板带的屏幕支持触摸操作,笔者用的是4.3寸的电容触摸屏,本节我们继续实验,来完成基 ...
- STM32 基础系列教程 44 - FSMC_LCD
前言 TFT-LCD 即薄膜晶体管液晶显示器.其英文全称为: Thin Film Transistor-Liquid Crystal Display. TFT-LCD 与无源 TN-LCD. STN- ...
- STM32 基础系列教程 43 – SRAM
前言 STM32F407ZGT6 自带了 192K 字节的 SRAM,对一般应用来说,已经足够了,不过在一些对内存要求高的场合, 比如跑算法或者跑 GUI 等,自带的这些内存就不够用了.比如跑算法或者 ...
最新文章
- ajax获取php cookie,Ajax 无法跨域获取 cookie
- for循环与while循环效率对比·5年以下编程经验必看C#】
- linux和用户账户相关的系统文件
- 计算机二级考试题停车收费,计算机二级考试真题-Excel-停车场调整收费标准
- 深搜DFS\广搜BFS 图初步入门
- tomcat域名绑定设置
- python 编程提高效率_15 个提高效率的 Python 编程技巧
- 还原数据库时不能独占访问
- arp***的判断与解决方案总结
- 行业下行,丧失亮点的OPPO慢人一步
- python面向对象的编程_python面向对象的编程
- 如何用SCRM销售管理系统管理销售和做销售管理
- 关于360系列手机定位不准确中的一种问题--位置穿越
- Python打开电脑文件夹
- 软件工程专业四个方向
- 智能手机操作系统大全-未完待续
- kingcms php 漏洞,kingcms5.0/5.1漏洞
- PAC 代理自动发现简介
- 什么是赛顿? Python以C的速度
- Flowable高级篇 - Flowable表结构
热门文章
- AntData.ORM框架 之 读写分离
- iOS使用AVCaptureSession自定义相机
- 写给过去的自己-No.2-数据结构篇-初尝柔性数组
- sublime text 2用package control安装插件时显示成功安装但实际没装上的问题
- linux下字符串查找 与替换
- DirectX SDK 9.28版本安装错误S1023
- 图解用Scientific Toolworks Understand分析Microsoft DirectX SDK (June 2010)自带D3D示例
- Design Pattern----21.Behavioral.Memento.Pattern (Delphi Sample)
- [转]SQL,LINQ,Lambda语法对照图
- 【洛谷p1058】立体图(已完结)