STM32学习心得(二)点亮LED灯

2023-10-27

STM32学习心得(二)点亮LED灯
在创建好工程模板后,就可以开始真正进入STM32的学习。手下那当然是试着点亮一个LED灯。
首先在USER目录下创建一个空文件夹,并命名为bsp_led(bsp的意思是板级支持包,即该代码仅支持这块板子),进去文件夹,新建两个文件,分别是bsp_led.c以及bsp_led.h
打开工程,把.c文件添加进工程中,同时在路径中设置好.h文件的路径
在这里插入图片描述
工程建立完成后,双击打开bsp_led.h,在文件中写入以下宏定义

#ifndef __BSP_LED_H
#define __BSP_LED_H

#include"stm32f10x.h"

#define LED_G_GPIO_PIN        GPIO_Pin_0  //定义绿色灯所在的引脚
#define LED_G_GPIO_PORT       GPIOB 
#define LED_G_GPIO_CLK        RCC_APB2Periph_GPIOB


void LED_GPIO_CONFIG(void);

#endif

然后打开bsp_led.c文件,写入以下代码

// bsp: board support package 板级支持包
//即该程序只支持这块板子,不支持别的板子

#include "bsp_led.h"

void LED_GPIO_CONFIG(void)
{
  //第一步:新建一个初始化的结构体
	GPIO_InitTypeDef GPIO_InitStruct;
	
	//向结构体内添加成员参数
	GPIO_InitStruct.GPIO_Pin = LED_G_GPIO_PIN;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;//设置为推挽输出
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	
	//第二步:调用stm32f10x_gpio.c中的初始化函数
	//第一个参数为要设置的端口名,第二个参数为上述定义中的结构体指针
	GPIO_Init(LED_G_GPIO_PORT, &GPIO_InitStruct);
	
	//第三步打开时钟,找到RCC固件库中对应的函数
	//第一个参数为要配置的引脚,第二个为使能DISABLE/ENABLE
	RCC_APB2PeriphClockCmd(LED_G_GPIO_CLK, ENABLE);
}

最后进入main.c文件,写入

#include "stm32f10x.h"

#include"bsp_led.h"

int main(void)
{
	while(1)
	 {
	LED_GPIO_CONFIG();
	//GPIO_SetBits(LED_G_GPIO_PORT,LED_G_GPIO_PIN);
	//GPIO_ResetBits(LED_G_GPIO_PORT,LED_G_GPIO_PIN);
	}
}

编译后下载进板子里,over

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32学习心得(二)点亮LED灯 的相关文章

随机推荐

  • VTK安装与配置补充2

    本文参考自 https blog csdn net sinat 25923849 article details 78889674 1 原材料 1 1 VTK 最新 Release 文件包 https www vtk org downloa
  • Jenkins使用总结,2.0 新时代:从 CI 到 CD

    Jenkins近阶段使用的总结篇 只写了个引子 却一直未动手写完 今天补上 前几篇文章提到在内网jenkins直接构建部署升级线上环境 job都是暴露在外面 很容易被误操作 需要做简单的权限控制 以防止误操作 导致生产环境挂掉 但jenki
  • Zotero PDF translate翻译CNKI报错

    错误信息 请求错误 此翻译引擎不可用 可能是密钥错误 也可能是请求过快 可以尝试其他翻译引擎 或者来此查看相关回答 https zotero yuque com staff gkhviy pdf trans age09f 请注意 这些错误与
  • 【数据仓库设计基础1】关系数据模型理论与数据仓库Inmon方法论

    文章目录 一 关系数据模型中的结构 1 关系 2 属性 3 属性域 4 元组 5 关系数据库 6 关系表的属性 7 关系数据模型中的键 二 关系完整性 1 空值 NULL 2 关系完整性规则 3 业务规则 4 关系数据库语言 三 规范化 四
  • Openwrt 开启openvpn服务访问内网

    具体设置网上有很多 本篇仅记录如何设置访问内网网段 其实很简单 首先openvpn路由 可以使用 option push route 192 168 1 0 255 255 255 0 内网网段为192 168 1 0 或者 option
  • 2023-6-2第三十三天

    superimpose使叠加 tutorial教程 辅导材料 purge清除 净化 diagonally斜线的 对角线的 exponential指数的 ampersand eject逐出 弹出 supposed假定 猜想 误信的 assum
  • 硬币组合问题python_关于硬币的python问题

    展开全部 coding utf8 import random def chkcoin acoin basecoin 1 5 10 25 flag False for bc in basecoin 62616964757a686964616f
  • php curl 带入cookie,PHP CURL中传递cookie的方法步骤

    curl的cookie怎么使用 新手都很头疼的 curl的参数太多了 其中cookie部分就涉及了4个 当然了 手册上明白写的curl的cookie是3个 但是嘛 不是还有个header的参数嘛 里面可以包含cookie curl非常的好用
  • chatgpt赋能python:Python文件转pyc文件详解

    Python文件转pyc文件详解 Python作为一门程力语言 在软件工程领域中独树一帜 但是Python解释器每次运行程序都会解释Python代码 这种运行方式会降低程序的运行速度 为了避免这种情况的发生 可以将Python文件编译成字节
  • air724UG + Luat玩转物联网(四) 定时器

    luat已经将定时器封装入sys模块 每创建一个任务就会消耗一个定时器 最大不能超过32个 一 luat定时器使用方法 1 sys timerStart fnc ms 开启一个定时器 参数 参数 释义 fnc fnc 定时器回调函数 ms
  • React项目 管理后台页面框架搭建

    使用 antd 这个框架搭建 使用 Layout 进行页面布局 在文件夹 component 创建一个新的组件 叫做Frame 然后里面在创建一个叫做index js 这是我们管理后台的一个大的布局结构 在index js 里添加代码 首先
  • 【拍照画面异常问题的 buffer dump和处理】

    当拍照遇到画面异常问题 建议先dump拍照对应的raw yuv和jpeg 一 Dump拍照对应的raw图 1 Non zsl拍照 Non zsl拍照会让P1node重新出raw图 而拍照会用到这些raw图中的imgo buffer 1 1
  • Pycharm设置终端自动进入当前python环境

    这里写自定义目录标题 设置Pycharm中的Powershell终端 powershell初始化 设置Pycharm中的Powershell终端 使用系统自带powershell的请忽略此步 在设置 工具 终端中设置默认powershell
  • 人生苦短,Python是岸——别了!Python之父!

    就在7月12日 著名的Python之父Guido van Rossum正式退出Python核心决策层 他在邮件里有点生气又有点伤心的写道 现在PEP 572已经完成 我不再想为一个PEP这么努力争取 而且还发现有这么多人鄙视我的决定 这个完
  • label+input 选择(优化多选按钮)及 input实现全选反选

    1 多选 选择之后不同的背景 input中 id和label中 for对应的值必须相同
  • Tomcat 8和10的安装和修改

    Tomcat10 jdk11没有jre目录了 tomcat安装后需要做一些修改 JAVA HOME usr local jdk11 JAVA BIN JAVA HOME bin export JAVA BIN JAVA HOME bin e
  • 全网最全系统学习爬虫教程,用爬虫进行数据分析(bs4,xpath,正则表达式)

    1 bs4解析基础 2 bs4案例 3 xpath解析基础 4 xpath解析案例 4k图片解析爬取 5 xpath解析案例 58二手房 6 xpath解析案例 爬取站长素材中免费简历模板 7 xpath解析案例 全国城市名称爬取 8 正则
  • jwt 非对称加密 密钥生成

    1 生成证书 有效期 100年 2 证书的名称 pubKey 3 证书生成需要的盐值 7018 z1 在java项目中使用rsa非得对称加密 只需要生成的 证书 pubKey jks以及生成的公钥 私钥一般用不到 如果加密和解密只需要公钥和
  • vs2017试用延长期已到_将Windows 7试用版从30天延长到120天

    vs2017试用延长期已到 Did you know that you can install Windows 7 without any license key and use it for 30 days What you might
  • STM32学习心得(二)点亮LED灯

    STM32学习心得 二 点亮LED灯 在创建好工程模板后 就可以开始真正进入STM32的学习 手下那当然是试着点亮一个LED灯 首先在USER目录下创建一个空文件夹 并命名为bsp led bsp的意思是板级支持包 即该代码仅支持这块板子