IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> stm32CubeMX实验LED灯,并使用keil逻辑分析仪观察周期 -> 正文阅读

[嵌入式]stm32CubeMX实验LED灯,并使用keil逻辑分析仪观察周期

一、 准备工作

1.1 实验要求

安装 stm32CubeMX,配合Keil,分别尝试使用寄存器地址方式(汇编或C,不限) 和HAL库这两种方式,完成下列任务:

1、重做上一个LED流水灯(博客【嵌入式08】)作业,即用GPIO端口完成3只LED红绿灯的周期闪烁。

2、在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形,更方便动态跟踪调试和定位代码故障点。 请用此功能观察3个GPIO端口的输出波形,并分析其波形反映的时序状态正确与否,高低电平转换周期(LED闪烁周期)实际为多少。

1.2 STM32CubeMX简介

1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用。STM32CubeMX几乎覆盖了STM32 全系列芯片。它具有如下特性:

 ① 直观的选择MCU 型号,可指定系列、封装、外设数量等条件

 ② 微控制器图形化配置

 ③ 自动处理引脚冲突

 ④ 动态设置时钟树,生成系统时钟配置代码

 ⑤ 可以动态设置外围和中间件模式和初始化

 ⑥ 功耗预测

 ⑦ C 代码工程生成器覆盖了STM32 微控制器初始化编译软件,如IAR, KEIL,GCC。

 ⑧ 可以独立使用或者作为Eclipse 插件使用

1.3 实验所需要的软件和硬件

在本次实验中,使用到的STM32硬件为,STM32F103C8T6;
软件为,STM32CubeMX软件、KEIL MDK-arm软件,以及STM32F1xxHAL库

二、 使用CubeMX新建工程点亮LED灯

2.1 新建工程

1 打开cubeMX在主界面选择File–>New Project 或者直接点击ACCEE TO MCU SELECTOR
2 进行芯片型号选择,一般直接在左上角搜索自己的芯片型号即可。

在这里插入图片描述

在这里插入图片描述

通信模式选用异步通信
操作如下

在这里插入图片描述

引脚配置

在这里插入图片描述

配置项目设置(名称、位置、环境):

在这里插入图片描述

生成项目:

在这里插入图片描述

2.2 代码编写和运行结果

keil里,在main.c文件的main函数下的while循环中,添加下面几行代码即可。


	        HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);//PA4
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_SET);//PC14
		HAL_Delay(1000);//1s
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);//PA4
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_SET);//PC14
		HAL_Delay(1000);//1s	
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);//PA4
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_RESET);//PC14
		HAL_Delay(1000);//1s



在这里插入图片描述

运行结果,生成.hex文件

在这里插入图片描述

2.3 烧录并实验

将C8T6与USB转TTL相连,接入电脑端,打开FlyMcu进行烧录

在这里插入图片描述

实验结果

三、keil观察3个GPIO端口的输出波形

在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形,更方便动态跟踪调试和定位代码故障点。 请用此功能观察第1题中3个GPIO端口的输出波形,并分析其波形反映的时序状态正确与否,高低电平转换周期(LED闪烁周期)实际为多少。

1.1 设置仿真模式

点击魔法棒狗设置Dubug
设置好后重新执行下结果
再点放大镜

在这里插入图片描述

1.2 运用逻辑分析仪

设置好后点及logic Analyzer

在这里插入图片描述

给逻辑分析仪中添加要观察的IO口

在这里插入图片描述

添加好后,点击运行
在这里插入图片描述

运行后点击X截至以下图片

在这里插入图片描述

观察实际的变化的实践,还是有点误差

四、总结

以上做的有点粗糙,请多多指点。

五、 参考链接

https://blog.csdn.net/qq_46467126/article/details/120847240?spm=1001.2014.3001.5502

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:31:28  更:2022-10-22 21:33:40 
 
开发: 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年12日历 -2024/12/28 2:35:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计