| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 嵌入式系统开发10——STM32串口通信 -> 正文阅读 |
|
[嵌入式]嵌入式系统开发10——STM32串口通信 |
本文主要介绍利用stm32CubeMX+Keil,在STM32F103C8T6上,尝试使用寄存器地址方式和HAL库这两种方式,实现及串口通信,还涉及到Keil5编译器V5的安装。由于篇幅太长,本篇文章主要介绍实践操作,理论知识写在我之前的一篇帖子 嵌入式系统开发09——串口通信 里。 目录一、任务要求安装 stm32CubeMX,配合Keil,分别尝试使用寄存器地址方式(汇编或C,不限) 和HAL库这两种方式,完成下列任务: 二、环境搭建1、硬件环境
注意将核心板上的BOOT0设置为1,BOOT1设置为0
2、软件环境
三、寄存器方式实现串口通信1、创建工程
2、代码编写
先计算得到 USART1->BRR 的内容。然后开始初始化串口引脚,然后设置波特率和奇偶校验等。
3、V5编译器安装这里点击编译,我最开始编译时,会报很多错 这里是以为编译器选择错误,V6编译器无法兼容部分代码 (1)下载文件 4、编译点击魔术棒,在 Output 下勾选 Create HEX File 在 Debug 下勾选 Use Simulator,将 Dialog DLL:改为DARMSTM.DLL;Parameter:改为 -pSTM32F103C8
在 Target 下,将 ARM Compiler:改为 Use default compiler version 5 点击编译,发现编译成功 5、烧录按照硬件环境部分将硬件连接到电脑串口上,打开 FlyMcu烧录软件 找到生成的 hex 文件,点击打开 搜索串口 设置波特率为115200bps 点击开始编程,进行烧录 6、实现效果打开串口调试助手 SSCOM,打开串口设置 配置串口设置 点击打开串口 观察结果 用 Keil5 的虚拟逻辑分析仪观察输出波形 四、HAL库方式实现串口通信1、创建工程
2、代码编写(1)打开工程,点击 Open Project,找到 main.c (2)在 main.c 中用一个数组存储 STM32 需要给上位机发送的消息
(3)在while循环中调用查询,并调用延时函数
3、编译点击魔术棒,在 Output下勾选 Create HEX File 在 Target 下将编译器版本改为 V6.18 在Debug里面选择 Use Simulator,将 Dailog DLL设置为DARMSTM.DLL,Parameter设置为-pSTM32F103C8; 点击OK,点击编译 4、烧录按照硬件环境部分将硬件连接到电脑串口上,打开 FlyMcu烧录软件 找到生成的 hex 文件,点击打开 搜索串口 设置波特率为115200bps 点击开始编程,进行烧录 5、实现效果打开串口调试助手 SSCOM,打开串口设置 配置串口设置 点击打开串口 观察结果 五、仿真逻辑分析仪的使用(1)在KEIL5中打开调试 (2)打开逻辑分析仪 (3)添加需要观察的引脚USART1_SR,调为Bit模式,点击关闭 (4)点击Run ,开始运行 (5)分析波形 发送信息时高电平的持续时间为 0.458us 发送信息时低电平的持续时间为 87us 延时100ms 六、总结本文主要介绍利用stm32CubeMX+Keil,在STM32F103C8T6上,尝试使用寄存器地址方式和HAL库这两种方式,实现串口通信。通过实验发现,stm32CubeMX的可视化操作可以使得寄存器的初始化配置操作变得非常简单、便捷;HAL库函数则封装了许多stm32的常用函数,相较于寄存器方式,HAL库函数stm32的学习和使用更加容易上手。希望能够给各位读者帮助,同时也希望各位读者能够自己尝试去实验,实践是检验真理的唯一标准,只有通过实验才能够真正熟知和掌握知识。若博客中有不足或者缺漏,望各位指出。 参考列表: |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:28:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |