STM32的USART串口通讯
STM32的USART串口通讯
STM32的USART串口通讯
- 一,寄存器与固件库
- 二,STM32的串口通讯准备工作
- 三,操作步骤
一,寄存器与固件库
基于寄存器与基于固件库的stm32 LED流水灯例子的编程方式差异比较:
1、基于寄存器方式的开发特点:
(1)具体参数更直观;
(2)程序运行占用资源少。
缺陷:
(1)开发速度慢;
(2)程序可读性差;
(3)维护复杂。
2、基于固态库方式开发,也就是直接调用库函数,特点:
(1)外设交流方便;
(2)查错简单;
(3)对主控制器STM32上手简单。
外设库函数的调用与直接配置寄存器相比,从执行效率上看会有额外的消耗:初始化变量赋值的过程、库函数在被调用的时候要耗费调用时间;在函数内部,对输入参数转换所需要的额外运算也消耗一些时间。由于寄存器的缺陷直接影响了开发效率,程序维护成本,交流成本。通常情况下,只有在频繁调用的中断服务函数时利用直接配置寄存器的方式。
二,STM32的串口通讯准备工作
(一)正确连接硬件(过程较简单,在此不再赘述)
(二)下载软件(资源在野火官网下载)
(1)安装CH340
检查
成功。
(2)下载野火串口调试助手
(3)安装串口下载软件
(4)找到所需Project
三,操作步骤
(一)任务要求
(1)设置波特率为115200,1位停止位,无校验位。
(2)STM32系统给上位机(win10)连续发送“hello windows!”,上位机接收程序可以使用“串口调试助手“,也可自己编程。
(3)当上位机给stm32发送“Stop,stm32”后,stm32停止发送。
(二)改写程序
(1)修改stm32f10x_it.c文件的串口中断服务函数:
int i=0;
uint8_t ucTemp[50];
void DEBUG_USART_IRQHandler(void)
{if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET){ucTemp[i] = USART_ReceiveData(USART1); }if(ucTemp[i] == '!'){if(ucTemp[i-1] == '2'&&ucTemp[i-2] == '3'&&ucTemp[i-3] == 'm'&&ucTemp[i-4] == 't'&&ucTemp[i-5] == 's'&&ucTemp[i-6] == ' ')if(ucTemp[i-7] == 'p'&&ucTemp[i-8] == 'o'&&ucTemp[i-9] == 't'&&ucTemp[i-10] == 's'){printf(" 收 到 !");while(1);}}i++;
}
2、修改main.c:
#include "stm32f10x.h"
#include "bsp_usart.h"void delay(uint32_t count)
{while(count--);
}
int main(void)
{ USART_Config();while(1){ printf("hello ssw ! \n");delay(5000000);}
}
(三)烧录
(1)编译生成hex文件
(2)打开串口下载软件mcuisp将生成的.hex文件烧进芯片
成功!
(3)打开野火串口调试助手,进行数据接收。
总结
(1)注意project的路径不易过“深”,否则可能会导致无法生成HEX文件。
(2)串口下载软件mcuisp的参数设定需要核对无误。
(3)在发送stop stm32!让数据传输停止后,要想重新传输需重新烧录程序。
STM32的USART串口通讯相关推荐
- STM32的USART串口通讯程序(查询方式)
STM32的USART串口通讯程序(查询方式) 文章目录 STM32的USART串口通讯程序(查询方式) 一.USART介绍 1.异步通信: 2.同步通信: 二.CubeMX创建项目 1.点击ACCE ...
- 在 stm32CubeMX下生成程序完成流水灯以及完成STM32的USART串口通讯程序实现STM32系统给上位机(win10)连续发送“hello windows”
目录 一.STM32CubeMX简介及安装 二.利用STM32CubeMX生成代码 1.创建项目 2.配置芯片 3.导出项目 三.Keil中补充代码完善功能 四.在Keil中观察实验波形 五.US ...
- 了解串口协议,及完成STM32的USART串口通讯程序,并用keil观察波形
文章目录 前言 一.串口协议 1.RS-232 2.485标准 二.RS-232.485和TTL电平 1.RS-232电平 2.485 3.TTL电平 4.区别 三.USB/TTL转232 1.CH3 ...
- STM32的USART串口通讯程序
文章目录 一.STM32 USART串口通信 1.串口通信简介 1.1.物理层 1.2.协议层 2.STM32 的 USART 简介 二.STM32的USART串口通讯程序 1.创建项目 2.添加.s ...
- 【嵌入式系统开发11】串口通讯“小试牛刀”——完成一个STM32的USART串口通讯程序
本文目的是主要介绍通过STM32F103C8T6完成一个STM32的USART串口通讯程序,在没有示波器条件下,使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形. 文章目录 前言 (一)需求分析 ...
- 基于STM32的USART串口通讯程序
文章目录 一.串口协议和RS-232.485标准,以及RS232.485电平与TTL电平的区别,USB/TTL转232模块的工作原理 1.串口协议 2.RS-232.RS-485标准 3.RS232. ...
- 串口通信-STM32的USART串口通讯程序
目录 一.原理介绍 1.串口协议 2.常用协议标准 1)RS-232 2)RS-485 3.RS232.485电平与TTL电平的区别 1)RS232电平 2)RS485电平 3)TTL电平 4)RS2 ...
- STM32的USART串口通讯实验
文章目录 实验环境 一.USART介绍 二.使用STM32CubeMX配置项目 STM32CubeMX配置环境 使用Keil MDK 生成.Hex文件 烧录 串口调试工具查看 三.波形分析 参考资料 ...
- 完成一个STM32的USART串口通讯程序
一.hal库实现 (1)打开STM32CubeMX,创建新项目(如下图红框,此时我已经建立完项目,点击如图中1的历史项目) (2)选择STM32F103C8开发板 (3)如下图选择高速时钟 (4)设置 ...
最新文章
- hive环境搭建提示: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
- SQL获取最新版本Version记录
- Button的使用(二):从资源文件中
- 中国水务行业运行状况调研与投资前景规划预测报告2022-2027年新版
- 【机器视觉】 endfor算子
- 《.NET 性能优化》送书活动结果公布
- 一些不错的计算机书籍
- java hibernate unable to read xml_各位大神,这是什么错误啊
- 阿里AI两项技术刷新行业纪录,为城市大脑,OR也为无人车?
- Cacti+Nagios安装后按自己的相关要求修改相关信息
- 星河经纬加入会员可靠吗_珍爱网免费相亲可靠吗?女会员处境艰难红娘为她重拾勇气...
- asp.net 打印控件之报表
- ubuntu 制作gif 动态图片
- flashpaper
- 利用OPENCV为android开发畸变校正的JNI库
- java7723魂斗罗2_魂斗罗2013-丛林之谜
- 叶俊:把特质用对地方就是优势
- 小蝌蚪找妈妈(召唤神龙)源码
- 小游戏赛道如何加速流量增长?
- oracle模板数据文件,Oracle EBS如何通过命令上传XML/BI Publisher数据定义文件和模板文件...