当前位置: 首页 > news >正文

STM32点灯闪烁

stm32c8t6引脚图

开发板引脚图

GPIO端口的每个位可以由软件分别配置成 多种模式。

─ 输入浮空

─ 输入上拉

─ 输入下拉

─ 模拟输入

─ 开漏输出

─ 推挽式输出

─ 推挽式复用功能

─ 开漏复用功能

配置GPIO端口步骤:开启时钟->使用结构体设置输出模式、引脚、速度->初始化GPIO。

    //开启时钟GPIOCRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//定义结构体变量GPIO_InitTypeDef GPIO_InitStructuer;//设置GPIO模式,推挽输出模式GPIO_InitStructuer.GPIO_Mode = GPIO_Mode_Out_PP;//设置GPIO引脚GPIO_InitStructuer.GPIO_Pin = GPIO_Pin_13;//设置GPIO速度GPIO_InitStructuer.GPIO_Speed = GPIO_Speed_50MHz;//传入结构体,初始化GPIOGPIO_Init(GPIOC,&GPIO_InitStructuer);

在stm32f10x_gpio.h文件中可以看到,读、写、初始GPIO函数有

void GPIO_DeInit(GPIO_TypeDef* GPIOx);
void GPIO_AFIODeInit(void);
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);

这样就可以实现点灯闪烁操作了

#include "stm32f10x.h"                  // Device header
#include "Delay.h" int main()
{//开启时钟GPIOCRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//定义结构体变量GPIO_InitTypeDef GPIO_InitStructuer;//设置GPIO模式,推挽输出模式GPIO_InitStructuer.GPIO_Mode = GPIO_Mode_Out_PP;//设置GPIO引脚GPIO_InitStructuer.GPIO_Pin = GPIO_Pin_13;//设置GPIO速度GPIO_InitStructuer.GPIO_Speed = GPIO_Speed_50MHz;//传入结构体,初始化GPIOGPIO_Init(GPIOC,&GPIO_InitStructuer);//设置PC13为低电平//GPIO_ResetBits(GPIOC,GPIO_Pin_13);//设置PC13为高电平//GPIO_SetBits(GPIOC,GPIO_Pin_13);while(1){//设置PC13为低电平GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_SET);Delay_ms(500);//设置PC13为高电平GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_RESET);Delay_ms(500);}	}

http://www.lryc.cn/news/394673.html

相关文章:

  • Java-01-源码篇-04集合-05-SortedMap NavigableMap TreeMap
  • 拥抱 AGI:PieDataCS 引领云原生数据计算系统新范式
  • 开放式耳机哪个品牌好?开放式耳机推荐
  • kubernetes dashboard安装
  • 【MySQL】3.表的操作
  • 十一、作业
  • 关于C#在WPF中如何使用“抽屉”控件
  • 运维Tips | Ubuntu 24.04 安装配置 xrdp 远程桌面服务
  • ExcelVBA运用Excel的【条件格式】(二)
  • 肠道和大脑中犬尿氨酸代谢途径的紊乱
  • vue通过后台返回的数字显示不同的文字内容,多个内容用、隔开
  • Flume工具详解
  • vulhub-activemq(CVE-2016-3088)
  • 上海市计算机学会竞赛平台2024年6月月赛丙组超级奇数
  • 速盾:cdn业务优化
  • 重生奇迹mu的地图名
  • 【CSS】缩写属性gap
  • Perl 语言开发(八):子程序和模块
  • 自注意力机制和多头注意力机制区别
  • 数据结构第14节 加权图
  • 128陷阱(超详细)
  • STM32自己从零开始实操08:STM32主控原理图
  • Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制
  • SaaS产品和独立部署型产品有什么区别,该怎么选择?
  • 【Linux】压缩命令——gzip,bzip2,xz
  • 【Java13】包
  • 从零到一:Python自动化测试的详细指南!
  • iOS中多个tableView 嵌套滚动特性探索
  • TCP/IP模型和OSI模型的区别
  • (九)绘制彩色三角形