STM32F4学习(三)——初级例程

上一篇是利用库创建工程模板,下面我们就可以书写自己的程序了。

在初级例程中,我给自己创建了四个工程,分别是LED(对GPIO的操作)、SysTick(系统滴答定时器)、KEY(扫描的方式和中断方式)。如图:

其实,我们可以把前两个工程合并成一个,利用SysTick产生精确的系统延时来使LED闪烁。下面的程序就是初始化LED的GPIO,

void LED_GPIO_Init(void)
{
 /* 定义一个GPIO_InitStructure类型的结构体 */
  GPIO_InitTypeDef  GPIO_InitStructure;
  
  /* 开启GPIOD的外设时钟 */
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

  /* 选择要控制的GPIOD的引脚 */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 |GPIO_Pin_14 | GPIO_Pin_15;
 
 /* 设置引脚模式为推挽输出 */
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
 
 /* 设置引脚的输出类型的枚举 */
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
 
 /* 设置引脚的类型为上拉 */
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
 
 /* 设置引脚的输出速率为50MHz */
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 
 /* 调用库函数,初始化GPIOD */
  GPIO_Init(GPIOD, &GPIO_InitStructure);
}


初始化完成之后,LED的GPIO是设置完成了,接下来我们就可以操作LED的亮灭了,我们用到下面两个函数

void STM_EVAL_LEDOn(Led_TypeDef Led)
{

  /* Turn on LED */
    GPIO_PORT[Led]->BSRRL = GPIO_PIN[Led];
}

void STM_EVAL_LEDOff(Led_TypeDef Led)
{
  /* Turn off LED */

    GPIO_PORT[Led]->BSRRH = GPIO_PIN[Led];
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
STM32F4是一款高性能的32位微控制器系列,它的标准例程可以帮助开发者快速上手并熟悉该系列的各项功能和特性。 STM32F4标准例程是一套由STMicroelectronics提供的软件开发工具包(STM32CubeF4),其中包含了大量的例程、驱动程序和各种实用工具,可用于开发各种应用程序。 在STM32F4标准例程中,我们可以找到各种类型的例程,包括GPIO输入输出、定时器、中断控制、串口通信、ADC和DAC等。这些例程涵盖了STM32F4系列微控制器的各项功能,帮助开发者快速实现各种应用需求。 通过学习和使用STM32F4标准例程,开发者可以了解各种外设的初始化和配置方法,掌握中断处理机制,学会使用封装好的驱动程序,从而提高开发效率。此外,例程中还包含了一些应用示例,如LED闪烁、按键输入检测、温度测量等,可以帮助开发者更好地理解和应用STM32F4的各种功能。 同时,STM32F4标准例程还提供了一些实用工具,如STM32CubeMX,它可以通过图形化界面生成初始化代码,简化了配置和初始化的过程。该工具还具有代码生成、引脚映射和时钟配置等功能,方便开发者进行快速原型设计和开发。 总之,STM32F4标准例程为开发者提供了一套完整的软件开发环境和丰富的例程库,帮助开发者快速上手并实现各种应用需求。通过学习和使用标准例程,开发者能够更好地理解STM32F4系列的各项功能和特性,提高开发效率,加快产品上市时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值