当前位置: 首页 > 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);}	}

相关文章:

STM32点灯闪烁

stm32c8t6引脚图 开发板引脚图 GPIO端口的每个位可以由软件分别配置成 多种模式。 ─ 输入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能 配置GPIO端口步骤:开启时钟->使用结构体设置输出模式…...

Java-01-源码篇-04集合-05-SortedMap NavigableMap TreeMap

目录 一,SortedMap 二,NavigableMap 三,TreeMap 3.1 TreeMap 继承结构 3.2 TreeMap 属性 3.3 TreeMap 构造器 3.4 TreeMap 内部类 3.4.1 Values 3.4.2 KeySet 3.4.3 EntrySet 3.4.5 相关集合迭代器 3.4.5.1 PrivateEntryIterato…...

拥抱 AGI:PieDataCS 引领云原生数据计算系统新范式

自2023年后,人工智能技术进入了一个更为成熟和广泛应用的阶段,人工通用智能(AGI)这一概念也成为了科技界和产业界热议的焦点。本文将结合 AGI 时代背景,从架构设计到落地实践,详细介绍拓数派云原生数据计算…...

开放式耳机哪个品牌好?开放式耳机推荐

开放式耳机因其独特的设计,提供了更自然的听音体验和更好的环境声音感知,尤其适合长时间佩戴和户外运动使用,下面来推荐几款表现出色的开放式耳机: 悠律ringbuds pro凝声环(499元):凭借时尚潮流…...

kubernetes dashboard安装

1.查看符合自己版本的kubernetes Dashboard 比如我使用的是1.23.0版本 https://github.com/kubernetes/dashboard/releases?page5 对应版本 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml修改对应的yaml,…...

【MySQL】3.表的操作

表的操作 一.创建表二.查看表三.修改表四.删除表 一.创建表 create table [if not exists] tb_name( field1 datatype comment 说明, field2 datatype, field3 datatype) charsetutf8 collateutf8_gerenal_ci engineInnoDB//表的编码集,校验集如果不指定&#xff…...

十一、作业

1.从大到小输出 写代码将三个整数数按从大到小输出。 void Swap(int* px, int* py) {int tmp *px;*px *py;*py tmp;} int main() {int a 0;int b 0;int c 0;scanf("%d %d %d", &a, &b, &c);int n 0;if (a<b){Swap(&a, &b);}if (a &l…...

关于C#在WPF中如何使用“抽屉”控件

关于C#在WPF中如何使用“抽屉”控件 1.前提准备2.XAML代码3.对应的C#代码4.显示效果 1.前提准备 需要引用MaterialDesign控件库&#xff0c;关于如何引用&#xff0c;请参照文章——关于C#如何引用MaterialDesign控件库 2.XAML代码 <Window x:Class"MaterialDesign_…...

运维Tips | Ubuntu 24.04 安装配置 xrdp 远程桌面服务

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] Ubuntu 24.04 Desktop 安装配置 xrdp 远程桌面服务 描述&#xff1a;Xrdp是一个微软远程桌面协议&#xff08;RDP&#xff09;的开源实现&#xff0c;它允许我们通过图形界面控制远程系统。这里使…...

ExcelVBA运用Excel的【条件格式】(二)

ExcelVBA运用Excel的【条件格式】&#xff08;二&#xff09; 前面知识点回顾 1. 访问 FormatConditions 集合 Range.FormatConditions 2. 添加条件格式 FormatConditions.Add 方法 语法 表达式。添加 (类型、 运算符、 Expression1、 Expression2) 3. 修改或删除条件…...

肠道和大脑中犬尿氨酸代谢途径的紊乱

新出现的证据表明&#xff0c;肠道微生物群可能与宿主大脑相互作用&#xff0c;并在神经精神疾病的发病机制中发挥关键作用。然而&#xff0c;抑郁症中微生物-肠-脑轴相互作用的潜在机制仍不清楚。在这项研究中&#xff0c;建立了慢性约束应激 (CRS) 的小鼠模型&#xff0c;以研…...

vue通过后台返回的数字显示不同的文字内容,多个内容用、隔开

后台返回的数据 显示效果&#xff1a; html&#xff1a; <el-table-columnalign"center"label"使用过的小程序"width"124"v-if"activeTab 0"><template #default"scope"><divv-for"(item, index) in s…...

Flume工具详解

Flume是一个由Apache提供的开源日志收集系统&#xff0c;最初由Cloudera贡献。它以其高可用性、高可靠性和分布式特性而著称&#xff0c;被广泛应用于海量日志的采集、聚合和传输。以下是对Flume工具的详细解析&#xff1a; 一、概述 功能定位&#xff1a;Flume主要用于收集、…...

vulhub-activemq(CVE-2016-3088)

在 Apache ActiveMQ 5.12.x~5.13.x 版本中&#xff0c;默认关闭了 fileserver 这个应用&#xff08;不过&#xff0c;可以在conf/jetty.xml 中开启&#xff09;&#xff1b;在 5.14.0 版本后&#xff0c;彻底删除了 fileserver 应用。【所以在渗透测试过程中要确定好 ActiveMQ …...

上海市计算机学会竞赛平台2024年6月月赛丙组超级奇数

题目描述 如果一个十进制数的所有数字都是奇数&#xff0c;则称之为超级奇数&#xff0c;例如 35733573 就是一个超级奇数&#xff0c;而 3141531415 不是。按照从小到大排序&#xff0c;前几名的超级奇数为 1,3,5,7,9,11,13,15,17,⋯1,3,5,7,9,11,13,15,17,⋯ 给定一个超级…...

速盾:cdn业务优化

CDN&#xff08;Content Delivery Network&#xff09;是一种基于互联网的分布式网络架构&#xff0c;旨在提供更快速、可靠的内容传输服务。它通过将内容分发至多个节点&#xff0c;使用户可以从离他们更近的节点获取内容&#xff0c;从而提高访问速度和用户体验。 然而&…...

重生奇迹mu的地图名

地图之一&#xff1a;勇者大陆 勇者大陆地处奇迹大陆中央。终年阴雨连绵&#xff0c;气候潮湿闷热。植物由充满黑暗阴森气氛的草地所构成。这里的NPC数量是所有地图中最多的。因为地步交通要冲&#xff0c;所以也是玩家聚集最多的地方。 这里是剑士、魔法师、魔剑士和圣导师初…...

【CSS】缩写属性gap

在CSS Grid Layout&#xff08;网格布局&#xff09;和Flexbox&#xff08;弹性盒布局&#xff09;中&#xff0c;gap 是一个缩写属性&#xff0c;用于同时设置行间隙&#xff08;gutter&#xff09;和列间隙&#xff08;在Flexbox中通常称为“交叉轴间隙”&#xff09;的大小。…...

Perl 语言开发(八):子程序和模块

目录 1. 引言 2. 子程序的基本概念与用法 2.1 子程序的定义和调用 2.2 传递参数 2.3 返回值 2.4 上下文和返回值 3. 模块的基本概念与用法 3.1 模块的定义 3.2 使用模块 3.3 导出符号 3.4 模块的文件结构和命名 4. 实际应用中的子程序与模块 4.1 子程序参数验证与…...

自注意力机制和多头注意力机制区别

Ref&#xff1a;小白看得懂的 Transformer (图解) Ref&#xff1a;一文彻底搞懂 Transformer&#xff08;图解手撕&#xff09; 多头注意力机制&#xff08;Multi-Head Attention&#xff09;和自注意力机制&#xff08;Self-Attention&#xff09;是现代深度学习模型&#x…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...