STM32CubeMX学习教程之一:GPIO输出之跑马灯

发布者:科技之翼最新更新时间:2018-09-19 来源: eefocus关键字:STM32CubeMX  GPIO输出  跑马灯 手机看文章 扫描二维码
随时随地手机看文章

完整源码下载:

https://github.com/simonliu009/STM32CubeMX-GPIO-Control

软件版本:

STM32CubeMX V4.25.0  
System Workbench V2.4
固件库版本:

STM32Cube FW_F1 V1.6.1

硬件:OneNet 麒麟座V2.3

在STM32CubeMX中新建项目,选择正确的MCU型号


首先设置RCC和SYS,如下图


然后根据板子实际情况设置时钟(麒麟座外部晶振是12M,STM32F103x的最高主频是72M),如下图


GPIO设置 PC7, PC8, PA12和 PC10为GPIO_OUTPUT, (这是麒麟座V2.3的四个LED管脚),如下图


GPIO配置如下:


Project - setting ,ToolChain/IDE选择 SW4STM32,注意项目名称这里不能有空格,最好不要用中文。



勾选这里




保存以后,点击任务栏的生成代码图标


生成完毕以后在弹出的对话框点击"Open Project", System Workbench自动打开Eclipse并导入和打开了项目,然后展开项目树,双击编辑main.c,在while(1)之后和/*USER CODE END WHILE*/之间加入代码如下:

  MX_GPIO_Init();

  /* USER CODE BEGIN 2 */

 

  /* USER CODE END 2 */

 

  /* Infinite loop */

  /* USER CODE BEGIN WHILE */

  while (1)

  {

 HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);

 HAL_Delay(500);

 HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);

 HAL_Delay(500);

 HAL_GPIO_TogglePin(LED3_GPIO_Port,LED3_Pin);

 HAL_Delay(500);

 HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin);

 HAL_Delay(500);

  /* USER CODE END WHILE */


然后右键点击项目,选择Properties, Run-Debug Settings, 点击右侧的New,在弹出对话框中选择Ac6 STM32 Debugging。


然后任务栏上点击Run图,当然会报错的,原因请查看另一篇我的博客(https://blog.csdn.net/toopoo/article/details/79680323),所以需要右键点击  项目名Run.cfg ,给它改个名字,


然后右键点击项目树里面的项目名称,选择“Propeties”,然后在Run/Debug Settings-选择项目名-Edit-Main-C/C++Application那里点击“Search Project”,然后选择出现的默认的elf文件:


然后在Debugger-User Defined-Browse 那里选择你自己改名的配置文件:


然后右键点击那个新的cfg文件,选择"Open With - Text Editor", 进行如下更改:

source [find interface/stlink.cfg] 更改为 source [find interface/stlink-v2.cfg]

reset_config srst_only srst_nogate connect_assert_srst 这一行改为 reset_config none 

然后再Run一下,就可以了。


关键字:STM32CubeMX  GPIO输出  跑马灯 引用地址:STM32CubeMX学习教程之一:GPIO输出之跑马灯

上一篇:STM32之SPI_FLASH(实例)
下一篇:STM32 SPI接口读写SPI flash实验

推荐阅读最新更新时间:2024-03-16 16:14

STM32CubeMX输出可调频率与占空比的PWM
1,新建工程,我选的是STM32F103ZET6芯片,选择定时器的PWM功能。 2、配置时钟,我这里配的是内部时钟,有需要的可以自己改。 3、配置定时器,默认就可以,因为代码里面需要对配置的初始化代码进行修改的,而修改后才可以实现该功能。 4、生成代码后,修改代码,找到PWM初始化函数,修改为如下,注意要把初始化函数前面的 static 关键字也去掉,而且函数声明也要跟着修改。 void MX_TIM4_Init(uint16_t pre,uint16_t pul) //修改初始化函数,改变频率与PWM{ //占空比=Pulse/Period;频率:f=48M/pre/per TIM_MasterConfigTypeD
[单片机]
<font color='red'>STM32CubeMX</font><font color='red'>输出</font>可调频率与占空比的PWM
STM32F4 输入输出(GPIO)模式理解
stm32的GPIO的配置模式有好几种,包括: 1. 模拟输入; 2. 浮空输入; 3. 上拉输入; 4. 下拉输入; 5. 开漏输出; 6. 推挽输出; 7. 复用开漏输出; 8. 复用推挽输出 1.模拟输入 从上图我们可以看到,我觉得模拟输入最重要的一点就是,他不经过输入数据寄存器,所以我们无法通过读取输入数据寄存器来获取模拟输入的值,我觉得这一点也是很好理解的,因为输入数据寄存器中存放的不是0就是1,而模拟输入信号不符合这一要求,所以自然不能放进输入数据寄存器。该输入模式,使我们可以获得外部的模拟信号。 2.浮空输入 该输入状态,我的理解是,它的输入完全由外部决定,我觉得在数据通信中应该可以使用该模式。应为在
[单片机]
STM32F4 输入<font color='red'>输出</font>(<font color='red'>GPIO</font>)模式理解
STM32CUBEMX开发GD32F303(10)----双ADC轮询模式扫描多个通道
概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验证。需要GD样片的可以加Q_QUN申请:615061293。 本章主要配置,双ADC轮询模式扫描多个通道,通过串口进行打印。 查阅手册可以得知,PA9、PA10为串口0的输出和输入口。 ADC通道配置 ADC1 IN0(PA0) IN3(PA3) IN4(PA4) ADC2 IN7(PA7) IN8(PB0) IN9(PB1) 生成例程 这里准备了GD32303C_START开发板进行验证。 STM32CUBEMX配置 勾选中断。 ADC1配置。 ADCs_Co
[单片机]
<font color='red'>STM32CUBEMX</font>开发GD32F303(10)----双ADC轮询模式扫描多个通道
arm汇编实现的跑马灯实验
平台:fs2410 用arm汇编编写的跑马灯单文件可以很好运行,不需要包其他的头文件和一些初始化函数。 GPFCON EQU 0x56000050 GPFDAT EQU 0x56000054 GPFUP EQU 0x56000058 EXPORT LEDTEST AREA LEDTESTASM,CO DE,READONLY ;定义了一个代码段,段名为LEDTESTASM,属性只读 LEDTEST ;设置GPF4-GPF7为output ldr r0,=GPFCON ldr r1,=0x5500 str r1, ;禁止GPF4-GPF7端口的上拉电阻 ldr
[单片机]
STM32f4---跑马灯实验代码
led.c 文件中输入如下代码 #include led.h //初始化PF9和PF10为输出口.并使能这两个口的时钟 //LED IO 初始化 void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能 GPIOF时钟 //GPIOF9,F10 初始化设置 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;//LED0 和 LED1对应IO 口 GPIO_I
[单片机]
STM32CubeMX系列教程3:基本定时器
这一章我们在前一章GPIO的工程修改。复制GPIO的工程,修改文件夹名。点击 打开STM32cubeMX的工程文件重新配置。开启定时器TIM3,选择内部时钟。 定时器就相当于单片机的闹钟,下面我们以基本定时器为例简单介绍一下定时器。 从上图我们可以看到,基本定时器主要由下面三个寄存器组成。 计数器寄存器 (TIMx_CNT) 预分频器寄存器 (TIMx_PSC) 自动重载寄存器 (TIMx_ARR) 计数器寄存器 (TIMx_CNT)存储的是当前的计数值。预分频器 (TIMx_PSC)为多少个SK_PSC脉冲计数一次,如图192 预分频器的值为1(预分频寄存器默认为0,为不分频),则为两个脉冲计数一次。即为
[单片机]
<font color='red'>STM32CubeMX</font>系列教程3:基本定时器
STM32CubeMX系列 | DAC数模转换
1. DAC简介 DAC(digital to analog converter)即数模转换器,它可以将数字信号转换为模拟信号,它的功能与ADC相反。在常见的数字信号系统中,大部分传感器信号被转化成电压信号,而ADC把电压模拟信号转换成易于计算机存储、处理的数字编码,由计算机处理完成后,再由DAC输出电压模拟信号来驱动某些执行器件,使人类易于感知。如音频信号的采集和还原就是这样的一个过程 STM32F1的DAC模块是12位数字输入,电压输出型的DAC。可以配置为8位或12位模式,也可以与DMA控制器配合使用,DAC工作在12位模式下时,数据可以设置为左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式
[单片机]
STM32CubeMx(Keil5)开发之路——1配置第一个项目
运行环境 Windows10 STM32CubeMX___Version 5.0.0 Keil5(MDK5)___Version 5.15 简介 本例程主要搭建第一个项目,并且完成最基本的项目所需配置,后续的教程都基于这篇教程。 STM32CubeMx配置 新建项目 搜索自己芯片的型号 点击选择封装形式 选择外部晶振 可以根据需求调节各个总线的时钟频率(就具体情况而定) DEBUG选项选择 Serial Wire (4线烧录,CLK,DIO,VCC,GND) 你会看到芯片引脚会占用这几个引脚,就是烧录用的CLK和DIO 点击 Project Manager 修改项目名称 修改项目保存路径 选择编写工具
[单片机]
<font color='red'>STM32CubeMx</font>(Keil5)开发之路——1配置第一个项目
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved