普中STM32-PZ6806L开发板(有点悲伤的故事续-人灯还未了)

简介

继上篇 普中STM32-PZ6806L开发板(有点悲伤的故事) 说到 关于 普中STM32-PZ6806L开发板的LED流水灯也被烧坏掉了,再也无法玩流水灯, 内心充满了只会流水灯的不甘, 流水灯就是单片机的Hello World,怎么能没有呢?

事情发展

好巧不巧想起最近电磁炉坏掉啦,这不是《歇后语》省略…, 拆掉了电磁炉上的四个数码管, LED灯10个,又可以玩LED灯啦…

电路

电路原理图

在这里插入图片描述
高电平驱动

实物图

在这里插入图片描述

步骤

STM32CubeMX 创建STM32F103CBT6

不说太多, 参考简介说到的上篇, 画葫芦吧

引脚初始化

初始化 PA0~PA7 & PC13 为推挽输出, 下拉;
在这里插入图片描述

用户代码

流水灯示例
main.c

typedef enum {LED_OFF,LED_ON,
}LED_Status;typedef enum {LED1,LED2,LED3,LED4,LED5,LED6,LED7,LED8,LED_ALL
}LED_Number;/***
* LED_LightControl : LED控制
*	num : LED1 ~ LED8 / LED_ALL
* status: LED_ON/LED_OFF
***/
void LED_LightControl(LED_Number num, LED_Status status)
{uint16_t pin = 0;if (num == LED_ALL)pin = 0xFF; // 引脚0 ~ 7elsepin = 0x01<<num;HAL_GPIO_WritePin(LED_PORT, pin, status==LED_ON ? GPIO_PIN_SET:GPIO_PIN_RESET);
}/***
* LED_DoFlowAction : 流水灯效果实现
*	num : LED1 ~ LED8 / LED_ALL
* delay_ms: 延时, 亮灭的间隔
* time : 执行的次数
***/
void LED_DoFlowAction(uint32_t delay_ms, uint16_t time)
{int i = 0;int offset = 0;int ledNum = 0;LED_LightControl(LED_ALL, LED_OFF);while (time--){for (i = LED1; i < LED_ALL; ++i){ledNum = offset > 0 ? ( offset - i ) : i; LED_LightControl((LED_Number)ledNum, LED_ON);HAL_Delay(delay_ms);LED_LightControl((LED_Number)ledNum, LED_OFF);HAL_Delay(delay_ms);}if (offset)offset = 0;elseoffset = LED_ALL-1;}
}int main(void)
{
...
while (1)
{LED_DoFlowAction(100, 1);
}
...
}

代码

上面都提供了,不需要下载

共赏

普中STM32-PZ6806L开发板(有点悲伤的故事续-人灯还未了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/599202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux操作系统基础(10):Linux的特殊权限

1. 特殊权限是什么 在Linux中&#xff0c;特殊权限是指针对文件或目录的特殊权限设置&#xff0c;包括SetUID、SetGID和Sticky Bit。 SetUID&#xff08;Set User ID&#xff09;&#xff1a; 当一个可执行文件被设置了SetUID权限后&#xff0c;当任何用户执行该文件时&#x…

强大好用的低代码开发工具,yyds!

现在市面上的很多开发工具更侧重代码编辑&#xff0c;针对数据库增删改查&#xff08;CRUD&#xff09;类的Web系统开发&#xff0c;在界面设计、前后端数据交互等环节主要还是靠写代码&#xff0c;效率比较低&#xff1b;而现在市面上很多所谓的低代码开发平台&#xff0c;大多…

View系列-onClick执行流程

1.设置监听器 //frameworks\base\core\java\android\view\View.java public class View implements Drawable.Callback, KeyEvent.Callback,AccessibilityEventSource {/*** Register a callback to be invoked when this view is clicked. If this view is not* clickable, i…

服务器经常出现自动重启怎么办

服务器自动重启是一个复杂且常见的问题&#xff0c;可能由多种原因引起。从硬件故障到软件问题&#xff0c;从电源问题到散热问题&#xff0c;每一个环节都可能成为服务器的杀手。在处理此类问题时&#xff0c;需要我们有一套完整的策略和方案&#xff0c;以便快速准确地定位并…

envoy在arm机器上的编译整理

版本信息&#xff1a; 操作系统:GUN Linux操作系统AARCH64架构。istio-proxy版本&#xff1a;istio-proxy1.15.2 编译环境搭建&#xff1a; 设置代理&#xff0c;确保可以访问Google等外网&#xff0c;这里envoy的第一次编译需要从外网下载依赖库。// 备注&#xff1a;这里一定…

决策树--分类决策树

1、介绍 ① 定义 分类决策树通过树形结构来模拟决策过程&#xff0c;决策树由结点和有向边组成。结点有两种类型&#xff1a;内部结 点和叶结点。内部结点表示一个特征或属性&#xff0c;叶子节点表示一个类。 ② 生成过程 用决策树分类&#xff0c;从根结点开始&#xff…

深度学习之矩阵形式的链式法则推导

深度学习之矩阵形式的链式法则推导 对于深度学习的基础“梯度下降”和“自动微分”的数学原理网上讲解的博客有很多了&#xff0c;但是目前没看到有讲关于矩阵形式的链式法则的内容&#xff0c;所以写了这篇笔记&#xff0c;供自己学习和复习。 文章目录 深度学习之矩阵形式的…

Lazada商品API接口:item_search接口中指定搜索范围

store_code: 指定商店代码。你可以使用这个参数来限制搜索结果仅返回特定商店的商品。格式为&#xff1a;store_code商店代码。category_id: 指定商品类别ID。通过提供特定的类别ID&#xff0c;你可以限制搜索结果仅返回该类别下的商品。格式为&#xff1a;category_id类别ID。…

【自学笔记】01Java基础-09Java关键字详解

介绍java&#xff08;基于java11&#xff09;中所有关键字&#xff0c;以及主要重要的关键字详解。 1 Java 11中的关键字&#xff1a; 1.1 类型声明与变量定义 boolean&#xff1a;声明布尔类型变量&#xff0c;只有两个可能值 true 或 false。byte&#xff1a;声明一个8位有…

复制Ubuntu遇到的问题及解决办法、Ubuntu上git命令更改和查看账户、实现Ubuntu与Windows之间的文件共享

1、复制Ubuntu遇到的问题及解决办法 &#xff08;1&#xff09;问题一&#xff1a;“该虚拟机似乎正在使用中。如果该虚拟机未在使用&#xff0c;请按”获取所有权(T)”按钮获取它的所有权。否则&#xff0c;请按”取消(C)”按钮以防损坏。” 出现该问题的原因“未正确关闭虚…

关于java栈和堆

关于java栈和堆 在上一篇文章中我们了解了数组的声明和创建&#xff0c;本篇文章中我们了解一下声明数组&#xff0c;创建数组&#xff0c;给数组赋值以后&#xff0c;栈和堆都是怎么样子分配的&#xff0c;了解一下底层的逻辑知识&#xff0c;让大家可以更好的理解数组&#…

后端中的Dao层、Service层、Impl层、utils层、Controller层

Java Dao层 dao层叫数据访问层&#xff0c;全称为data access object&#xff0c;属于一种比较底层&#xff0c;比较基础的操作&#xff0c;具体到对于某个表、某个实体的增删改查&#xff0c;对外提供稳定访问数据库的方法 Mapper:&#xff08;DAO&#xff09; 访问数据库&am…

代码随想录算法训练营第三十八天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

509. 斐波那契数 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;手把手带你入门动态规划 | LeetCode&#xff1a;509.斐波那契数_哔哩哔哩_bilibili C代码: class Solution { public:int fib(int n) {if…

新品牌在小红书上宣传推广怎么做?

对于新品牌来说&#xff0c;如何在小红书进行有效的宣传推广&#xff0c;成为了一大挑战。本文伯乐网络传媒将为你揭秘新品牌在小红书上的宣传策略&#xff0c;助你牢牢抓住用户流量&#xff0c;提升品牌知名度。 小红书作为一款以内容为核心的社交电商平台&#xff0c;具有极高…

论文阅读:基于MCMC的能量模型最大似然学习剖析

On the Anatomy of MCMC-Based Maximum Likelihood Learning of Energy-Based Models 相关代码&#xff1a;点击 本文只介绍关于MCMC训练的部分&#xff0c;由此可知&#xff0c;MCMC常常被用于训练EBM。最后一张图源于Implicit Generation and Modeling with Energy-Based Mod…

Git提交规范详解

在团队协作开发中&#xff0c;Git作为版本控制系统&#xff0c;其提交信息的清晰性和一致性至关重要。通过定义特定的提交类型和格式&#xff0c;我们可以更好地追踪项目历史&#xff0c;提高代码审查效率&#xff0c;并方便生成高质量的变更日志。以下是几种常见的Git提交类型…

开发知识点-Java网络编程-Netty

Netty P1 Netty-导学分布式网络返回 异步结果dubbo rabbitmqtest 测试案例多线程 日志 第1章_01_nio三大组件-channel-buffer网络编程 框架jdk 1.4 之后才有 nio这个 APIChannel 数据传输通道 &#xff08;双向&#xff09;Buffer 内存缓冲区 &#xff08;暂存Channel 的 数据&…

【React系列】Redux(三) state如何管理

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. reducer拆分 1.1. reducer代码拆分 我们来看一下目前我们的reducer&#xff1a; function reducer(state ini…

jdk动态代理与cglib代理区别1

动态代理有jdk动态代理及cglib代理&#xff0c;下面描述jdk动态代理 jdk动态代理 看了 上云 老师的视频&#xff0c;整理下 pom文件 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starte…

JS函数实现数字转中文大写

JS函数实现数字转中文大写 1. 数字转字符,分割,去除空字符2. 遍历分割字符,替换为中文3. 增加四位数单位4. 处理零5. 拼接四位数据和单位 项目中,JS将万亿以下正整数转为中文大写 1. 数字转字符,分割,去除空字符 function toChineseNumber(num){const strs num.toString().re…