PY32F003F18点灯
延时函数学习完之后,可以学习PY32F003F18的GPIO输出功能。
1、Debug引脚默认被置于复用功能上拉或下拉模式:
PA14默认为SWCLK: 置于下拉模式
PA13默认为SWDIO: 置于上拉模式
PF4默认为Boot:Boot引脚默认置于输入下拉模式

2、GPIO输出状态:
1)、push-pull,推挽输出
2)、open drain,开漏极输出
3)、上拉/下拉
#define GPIO_NOPULL (0x00000000u) //引脚上拉和下拉都没有被激活
#define GPIO_PULLUP (0x00000001u) //引脚上拉被激活,Pull-up activation
#define GPIO_PULLDOWN (0x00000002u) //引脚下拉被激活,Pull-down activation
3、测试程序
#include "LED.h"void MCU_LED_Init(void);//函数功能:MCU_LED灯引脚初始化,并配置为关灯
void MCU_LED_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;__HAL_RCC_GPIOB_CLK_ENABLE();//使能GPIOB时钟//初始化GPIOB5GPIO_InitStructure.Pin = GPIO_PIN_5; //选择第5脚GPIO_InitStructure.Pull = GPIO_PULLUP; //引脚上拉被激活GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH; //配置GPIO速度为极高GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; //设置引脚工作模式为推挽输出方式HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);//根据GPIO_InitStructure结构变量指定的参数初始化GPIOB的外设寄存器MCU_LED_Off();
}
#ifndef __LED_H
#define __LED_H#include "py32f0xx_hal.h"#define MCU_LED_On() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5, GPIO_PIN_SET) //输出高电平开灯
#define MCU_LED_Off() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5, GPIO_PIN_RESET) //输出高电平关灯
#define MCU_LED_Toggle() HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5) //输出电平翻转extern void MCU_LED_Init(void);#endif /* __LED_H */
#include "py32f0xx_hal.h"
#include "LED.h"void Delay_ms(uint32_t x_ms);int main(void)
{
// HSE_Config();//初始化"HSI,HSE,LSI振荡器",HSE用作系统时钟(SYSCLK),同时配置"AHB时钟(HCLK)和APB时钟(PCLK)"uwTickFreq=HAL_TICK_FREQ_1KHZ;//准备配置"SysTick定时器"每1ms中断一次HAL_InitTick(PRIORITY_LOWEST);//配置"SysTick定时器"每1ms中断一次,优先级为最低
// HAL_Init();//配置"SysTick定时器"每1ms中断一次,优先级为最低MCU_LED_Init();//MCU_LED灯引脚初始化,并配置为关灯HAL_Delay(1000);while (1){MCU_LED_Toggle();Delay_ms(500);}
}//函数功能:延时x_ms毫秒
void Delay_ms(uint32_t x_ms)
{uint8_t flag;uint32_t tickstart;uint32_t tickend;uint32_t tmp;tickstart = HAL_GetTick();//读取"SysTick计数器"的中断次数计数器uwTickflag=1;if (x_ms==0) flag=0;while (flag){tickend=HAL_GetTick();//读取"SysTick计数器"的中断次数计数器uwTickif(tickend>=tickstart) tickend=tickend - tickstart;else{tmp=0xFFFFFFFF;tmp=tmp-tickstart;tickend=tickend+tmp;
// tickend=tickend+0xFFFFFFFF-tickstart;}if ( tickend > x_ms) flag=0;//超时}
}
相关文章:
PY32F003F18点灯
延时函数学习完之后,可以学习PY32F003F18的GPIO输出功能。 1、Debug引脚默认被置于复用功能上拉或下拉模式:PA14默认为SWCLK: 置于下拉模式PA13默认为SWDIO: 置于上拉模式PF4默认为Boot:Boot引脚默认置于输入下拉模式 2、GPIO输出状态&#…...
Mac不想用iTerm2了怎么办
这东西真是让人又爱又恨,爱的是它的UI还真不错,恨的是它把我的环境给破坏啦!让我每次启动终端之后都要重新source激活我的python环境,而且虚拟环境前面没有括号啦!这怎么能忍!在UI和实用性面前我断然选择实…...
x86_64 ansible 源码编译安装
源码 GitHub - ansible/ansible: Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a languag…...
数据结构学习系列之顺序表的两种插入方式
方式1:在顺序表末端插入数据元素,代码如下:示例代码: int insert_seq_list_1(list_t *seq_list,int data){if(NULL seq_list){printf("入参为NULL\n");return -1;}if(N seq_list->count){printf("顺序表已满…...
Matlab/Python教程系列 | 根据目录下的已有图片制作视频(动画)
MATLAB和Python的编程教程: 根据目录下的已有图片制作视频(动画) 注1:本文系“MATLAB/Python编程教程”系列之一,致力于使用Python和Matlab实现特定的功能。本次要实现的功能是:根据目录下的已有图片制作视频(动画)。 在这个教程中,我们将一起学习如何使用MATLAB和Python编…...
Pyecharts数据可视化(一)
目录 1.Pyecharts简介 2.Pyecharts的常用方法 3.Pyecharts绘制柱状图 3.1 绘制并列柱状图 3.2 绘制水平直方图 1.Pyecharts简介 Pyecharts是一个用于创建交互式图表的Python库。它基于Echarts,一个强大的JavaScript图表库,Pyecharts允许Python开发者…...
stable diffusion实践操作-提示词-图片结构
系列文章目录 stable diffusion实践操作-提示词 文章目录 系列文章目录前言一、提示词汇总1.1 图片结构11.2 图片结构21.3 图片结构3 二、总结 前言 本文主要收纳总结了提示词-图片结构。 一、提示词汇总 1.1 图片结构1 StylesArtistshudson river school哈得逊河学派alpho…...
程序员自由创业周记#2:前期准备
感恩 上次公开了创业的决定后,得到了很多亲朋好友和陌生朋友的鼓励或支持,以不同的形式,感动之情溢于言表。这些都会记在心里,大恩不言谢~ 创业方向 笔者是一名资质平平的iOS开发程序猿,创业项目也就是开发App卖&am…...
Elasticsearch实战(四):Springboot实现Elasticsearch指标聚合与下钻分析open-API
文章目录 系列文章索引一、指标聚合与分类1、什么是指标聚合(Metric)2、Metric聚合分析分为单值分析和多值分析两类3、概述 二、单值分析API设计1、Avg(平均值)(1)对所有文档进行avg聚合(DSL)(2…...
Opencv图像暗通道调优
基于雾天退化模型的去雾算法,Opencv图像暗通道调优,(清华版代码)对普通相片也有较好的调优效果,相片更通透。 结合代码实际运行效果、算法理论模型、实际代码。我个人理解,实际效果是对图像的三个颜色通道…...
怎样来实现流量削峰方案
削峰从本质上来说就是更多地延缓用户请求,以及层层过滤用户的访问需求,遵从“最后落地到数据库的请求数要尽量少”的原则。 1.消息队列解决削峰 要对流量进行削峰,最容易想到的解决方案就是用消息队列来缓冲瞬时流量,把同步的直…...
git status搜索.c和.h后缀及git新建分支
git status搜索.c和.h后缀及git新建分支 1.脚本代码2.git新建分支(1)创建新分支(2)删除本地分支(3)删除远端分支(4)合并分支3.指定历史版本创建分支1.脚本代码 $ git status | grep "\.[hc]$"$ 是行尾的意思 \b 就是用在你匹配整个单词的时候。 如果不是整个…...
【配置环境】Visual Studio 配置 OpenCV
目录 一,环境 二,下载和配置 OpenCV 三,创建一个 Visual Studio 项目 四,配置 Visual Studio 项目 五,编写并编译 OpenCV 程序 六,解决CMake编译OpenCV报的错误 一,环境 Windows 11 家庭中…...
java.sql.SQLException: com.mysql.cj.jdbc.Driver
这篇文章分享一下Springboot整合Elasticsearch时遇到的一个问题,项目正常启动,但是查询数据库的时候发生了一个异常java.sql.SQLException: com.mysql.cj.jdbc.Driver java.sql.SQLException: com.mysql.cj.jdbc.Driverat com.alibaba.druid.util.JdbcU…...
React笔记(四)类组件(2)
一、类组件的props属性 组件中的数据,除了组件内部的状态使用state之外,状态也可以来自组件的外部,外部的状态使用类组件实例上另外一个属性来表示props 1、基本的使用 在components下创建UserInfo组件 import React, { Component } from…...
点云从入门到精通技术详解100篇-点云信息编码
目录 前言 研究发展现状 点云几何信息压缩 点云属性信息压缩 点云压缩算法的相关技术...
Python爬虫解析网页内容
Python爬虫是一种自动化程序,可以模拟人类用户访问网页,获取网页中的内容。爬虫在信息采集、数据分析和网络监测等领域有着广泛的应用。在爬虫过程中,解析网页内容是非常重要的一步。 Python提供了许多强大的库和工具,用于解析网…...
从零开始学习Python爬虫技术,并应用于市场竞争情报收集
在当今信息爆炸的时代,市场竞争情报收集对企业的发展至关重要。Python爬虫技术可以帮助我们高效地收集网络上的有价值信息。本文将从零开始介绍Python爬虫技术,并探讨如何将其应用于市场竞争情报收集。 一、Python爬虫技术基础 安装Python环境 首先&…...
SpringCloudGateway集成SpringDoc CORS问题
SpringCloudGateway集成SpringDoc CORS问题 集成SpringDoc后,在gateway在线文档界面,请求具体的服务接口,报CORS问题 Failed to fetch. Possible Reasons: CORS Network Failure URL scheme must be “http” or “https” for CORS reques…...
国际版阿里云/腾讯云:弹性高性能计算E-HPC入门概述
入门概述 本文介绍E-HPC的运用流程,帮助您快速上手运用弹性高性能核算。 下文以创立集群,在集群中安装GROMACS软件并运转水分子算例进行高性能核算为例,介绍弹性高性能核算的运用流程,帮助您快速上手运用弹性高性能核算。运用流程…...
前端工程化实战:代码规范、兼容性、调试与项目整合
前言学完 HTML 和 CSS 的核心知识后,如何写出规范、可维护、兼容性好的代码,并高效地调试和构建项目,是很多初学者的薄弱环节。本篇整合 代码书写规范、浏览器兼容性处理、Chrome DevTools 调试技巧、项目目录结构 以及 前端学习路径 等实用技…...
小红书无水印下载终极指南:如何用XHS-Downloader快速保存优质内容
小红书无水印下载终极指南:如何用XHS-Downloader快速保存优质内容 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用…...
稳定币深度解析:从技术内核到生态未来
稳定币深度解析:从技术内核到生态未来 引言 在加密货币世界剧烈波动的浪潮中,稳定币如同一座坚不可摧的桥梁,连接着传统金融与去中心化未来。它不仅是DeFi乐高积木中最关键的基座,更在跨境支付、元宇宙经济等前沿领域扮演着核心…...
GNA稀疏注意力机制:视觉Transformer计算优化实践
1. GNA稀疏注意力机制解析在视觉Transformer领域,计算效率一直是制约模型规模和应用场景的关键瓶颈。传统自注意力机制需要计算所有查询(Query)和键(Key)之间的交互,导致计算复杂度随序列长度呈平方级增长&…...
正点原子STM32MP135实战——OP-TEE安全启动与设备树深度适配
1. OP-TEE与STM32MP135开发板简介 第一次接触OP-TEE时,我也被这个专业名词唬住了。简单来说,它就像是你手机里的保险箱,专门用来存放和处理敏感信息(比如指纹、支付密码)。在STM32MP135这块开发板上实现OP-TEE…...
从信号放大器到协议感知:深入解析Retimer与Redriver在高速链路中的角色演进
1. 高速链路中的信号完整性挑战 当你把手机靠近路由器时,网速会突然变快;用Type-C线连接移动硬盘传输大文件时,偶尔会出现卡顿——这些现象背后都隐藏着信号完整性这个关键问题。在AI服务器、数据中心互连、高端显卡这些需要高速数据传输的场…...
衍射光学元件微结构
衍射光学元件(DOEs)是利用刻蚀微结构的衍射特性将入射光束转换为所需光分布的光学元件,利用结构的周期性或无周期性分别创建离散的(分束器)或连续的模式(光束整形器、扩散器)。由于这些元件的工作原理是基于光通过这些图案表面的衍射,因此DOE光束整形器和…...
终极指南:如何用免费C工具快速管理天龙八部单机版游戏数据
终极指南:如何用免费C#工具快速管理天龙八部单机版游戏数据 【免费下载链接】TlbbGmTool 某网络游戏的单机版本GM工具 项目地址: https://gitcode.com/gh_mirrors/tl/TlbbGmTool 还在为《天龙八部》单机版的数据管理而烦恼吗?TlbbGmTool是一款专为…...
CANN/asc-devkit Round接口文档
Round 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann…...
2026年B站资源下载全攻略:3步学会用BiliTools高效保存视频
2026年B站资源下载全攻略:3步学会用BiliTools高效保存视频 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …...
