历史上的今天
今天是:2024年09月24日(星期二)
2019年09月24日 | STM32F1x系列——跑马灯实验-库函数
2019-09-24 来源:eefocus
今天根据网上的教程实现了STM32F1系列单片机的跑马灯实验,首先主要分为三个步骤:
(1)使能IO口时钟,调用函数RCC_APB2PeriphClockCmd();不同的IO口,调用的使能时钟不一样
(2)初始化IO口模式。调用函数GPIO_Init();
(3)操作IO口,输出高低电平。GPIO_SetBits();GPIO_ResetBits();
新建一个样板工程,在工程添加文件夹HAREWARE,并在文件夹添加LED(名字自取)的.c和.h文件,按照上述的步骤,依次添加步骤。
LED.h:
#ifndef __LED_H_
#define __LED_H_
void LED_Init(void) ; //初始化
#endif
LED.c:
#include "LED.h"
#include "stm32f10x.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStr ;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE); //GPIOD
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //GPIOA
GPIO_InitStr.GPIO_Mode = GPIO_Mode_Out_PP ; //推挽输出
GPIO_InitStr.GPIO_Pin = GPIO_Pin_2 ;
GPIO_InitStr.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_Init(GPIOD,&GPIO_InitStr) ;
GPIO_SetBits(GPIOD,GPIO_Pin_2) ; //设置高电平
GPIO_InitStr.GPIO_Mode = GPIO_Mode_Out_PP ; //推挽输出
GPIO_InitStr.GPIO_Pin = GPIO_Pin_8 ;
GPIO_InitStr.GPIO_Speed = GPIO_Speed_50MHz ;
GPIO_Init(GPIOA,&GPIO_InitStr) ;
GPIO_SetBits(GPIOA,GPIO_Pin_8) ; //设置高电平
}
在main函数中,执行操作,对LED设置高低电平,让其闪烁,并且加上延时函数:
#include "stm32f10x.h"
#include "LED.h"
#include "delay.h"
int main(void)
{
delay_init();
LED_Init();
while(1)
{
GPIO_SetBits(GPIOD,GPIO_Pin_2) ; //高电平 熄灭
GPIO_SetBits(GPIOA,GPIO_Pin_8) ;
delay_ms(500) ;
GPIO_ResetBits(GPIOD,GPIO_Pin_2) ; //低电平 点亮
GPIO_ResetBits(GPIOA,GPIO_Pin_8) ;
delay_ms(500) ;
}
}
就这样,基于STM32F1x系列单片机的简单跑马灯实验便做好了,接下来继续学习STM32F1x系列其他知识,加油!
史海拾趣
|
[注:之所以叫终结版,是因为现在没有多少时间再去做这个了,有新的任务了.谢谢指教] 写了一个上位机,是个简单的调试助手。快考试了,也没有时间再去弄VB了。现在把资料打包上来,里面有源程序,下位机的程序可以验证上位机的全部功能。安装好后, ...… 查看全部问答> |
|
在一个PROCESS中 能不能同时把握上升沿和下降沿 if clk\'event and clk=\'1\' then ,,,, elsif clk\'event and clk=\'0\' then… 查看全部问答> |
|
对初学者理解STM32最新文件系统会有帮助 如何从STM32F10xxx固件库V2.0.3升级到V3.0.0 [local]1[/local] 如何从STM32F10xxx固件库V2.0.3升级到V3.0.0.pdf (1.22 MB) 下载次数:1193 2010-8-12 16:49 ...… 查看全部问答> |
|
MSP-EXP430G2 LaunchPad FAQs1. Does the MSP-EXP430G2 support fuse blow?The MSP-EXP430G2 LaunchPad experimenter board onboard debugging interface lacks the JTAG security fuse-blow capability. To ensure firmware security on devices g ...… 查看全部问答> |
|
目前项目中用的是UC/OS-II,但是uC/OS-III都出来1年多了,想了解下。 最近在学习STM32F103VET6板子上移植UCOS-III 有没有群或朋友也在搞这个的朋友或群的呢? 我QQ316645339… 查看全部问答> |




