你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32CUBEME的GPIO输出经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-15 19:26
概述
    本篇文章主要介绍如何使用STM32CubeMX对红外波形进行GPIO输出,并LED显示。

硬件准备
    首先需要准备一个开发板,这里我准备的是NUCLEO-F030R8的开发板:   

微信图片_20230415192541.jpg

选择芯片型号
       使用STM32CUBEMX选择芯片stm32f030r8,如下所示:

微信图片_20230415192537.png

配置时钟源
    HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示:

微信图片_20230415192524.png

配置时钟树
    STM32F0的最高主频到48M,所以配置48即可:

微信图片_20230415192518.png


串口配置
    0左键点击需要配置的端口,选择GPIO_Output模式。这里我们配置的端口位PB10和PB11。

微信图片_20230415192903.png

配置完如下图所示。

微信图片_20230415192501.png


详细参数配置,如下图,完成后点击OK。

微信图片_20230415192455.png

生成工程设置
    注意在生产工程设置中不能出现中文,不然会报错。

微信图片_20230415192451.png


代码生成设置
    最后设置生成独立的初始化文件:


微信图片_20230415192446.png

生成代码
微信图片_20230415192437.png

配置keil

微信图片_20230415192431.png

微信图片_20230415192426.png


    在main.c中的while中,设置LED亮灭情况:

  1. /* USER CODE BEGIN WHILE */
  2. while (1)
  3. {

  4. //Bit_RESET/Bit_SET,实际上也就等价于0/1
  5. HAL_GPIO_WritePin(LED_R_GPIO_Port,LED_R_Pin,GPIO_PIN_RESET);
  6. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_SET);
  7.    HAL_Delay(1000);
  8. HAL_GPIO_WritePin(LED_R_GPIO_Port,LED_R_Pin,GPIO_PIN_SET);
  9. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET);
  10. HAL_Delay(1000);
  11.    /* USER CODE END WHILE */

  12.    /* USER CODE BEGIN 3 */
  13. }
  14. /* USER CODE END 3 */
复制代码

演示效果
微信图片_20230415192419.gif

转载自:记帖
如有侵权请联系删除


收藏 评论0 发布时间:2023-4-15 19:26

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版