| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> stm32CubeMX,配合Keil使用HAL库实现简单流水灯与串口通信 -> 正文阅读 |
|
[嵌入式]stm32CubeMX,配合Keil使用HAL库实现简单流水灯与串口通信 |
stm32CubeMX,配合Keil使用HAL库实现简单流水灯与串口通信文章目录1、初步了解stm32CubeMXSTM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。 在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设的时间,大大的节省了时间 搭建stm32CubeMX环境参考链接https://blog.csdn.net/qq_43279579/article/details/112213196 2、利用stm32CubeMX生成相关代码1、创建新工程 2、选择芯片 3、点击下方的已经选择好的芯片进入工程 4、在Pinout &Configuration 栏里,配置系统调试接口 5、配置外设, 6、配置时钟,点击 Cook Configuration ,按照下面方式将 STM32 最高时钟调为72M 7、配置USART1,用于串口调试,USART1 一般系统板上都会与 usb 接口连接在一起,可以通过数据线,与上位机通讯。在 Connectify 中,选择 USART1,模式选择 Asynchronous(异步) 8、配置GPIO管脚 点击右侧芯片上所需要的引脚,我使用的是PA0,PB0,PC13管脚来控制流水灯,点击管脚 PA0,在菜单中选择 GPIO_Output,依次配置其他引脚,在左侧的 GPIO 中看到每个管脚的位置,输出模式改为高电平 9、工程设置,在 Project Manager 界面中选择 Project ,按要求填入相关信息,注意地址不要有中文字符和空格,不然在keil5中编译会报错。选择 Keil5 编译器生成代码。 生成刚刚配置的 gpio.c 和 usart.c 以及对应的头文件 10、生成代码,打开工程 3、在keil5中添加代码只需在main函数中的while(1)添加功能代码 流水灯代码部分
代码解析 延时函数:HAL_Delay(1000) ;表示延时1s void HAL_GPIO_WritePin(GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin,GPIO_PinState PinState) 参数说明: GPIOx: 管脚组(x的取值为A~G); GPIO_BIT_RESET表示0输出低电平,GPIO_BIT_SET表示1输出高电平 通过控制PA0,PB0,PC13端口的电平,每切换一次状态延时一秒,每次只让一个灯亮,其余灯熄灭,从而达到流水灯的效果 4、硬件测试5、keil5示波器观察波形点击魔法棒,配置相关参数 进入调试 在弹出的窗口里 “Special Function Register” 里将 设置管脚 运行仿真 截图如下 波形分析 在同一时刻下,三个管脚的的电平始终是一个高,两个低,交替出现,与程序设计相同。 6、串口通信利用stm32CubeMX生成相关代码,依次参照下列做法 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rM7vOjty-1635346412208)(https://i.loli.net/2021/10/27/CblhiK8VYQU9yH6.png)] 生成代码,参考前面步骤 在main()中先定义一个字符串
再在while循环中添加入下代码
通过串口助手进行测试 点击打开串口,观察结果 观察串口输出波形 观察USART1_SR端口 7、总结使用stm32CubeMX生成代码大大减少写代码的时间,减小工作量。 8、参考链接STM32CubeMX介绍https://blog.csdn.net/as480133937/article/details/99935090 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
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/26 8:40:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |