小白跟做江科大32单片机之LED流水灯

news2024/11/18 14:13:12

1.复制下面地址新建的工程,改名为3-2 LED流水灯

小白跟做江科大32单片机之LED闪烁-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_58051657/article/details/139295351?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22139295351%22%2C%22source%22%3A%22weixin_58051657%22%7D2.按照江科大老师所给的图进行连接

3.修改main.c代码

#include "stm32f10x.h"                  // Device header
#include "Delay.h"

int main(void)
{
    /*开启时钟*/

  //还是选中P0口,所以第一行RCC启动时钟不改
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);    //开启GPIOA的时钟
                                                            //使用各个外设前必须开启时钟,否则对外设的操作无效
    
    /*GPIO初始化*/
    GPIO_InitTypeDef GPIO_InitStructure;                    //定义结构体变量
    
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        //GPIO模式,赋值为推挽输出模式
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;                //GPIO引脚,赋值为所有引脚
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //GPIO速度,赋值为50MHz
    
    GPIO_Init(GPIOA, &GPIO_InitStructure);                    //将赋值后的构体变量传递给GPIO_Init函数
                                                            //函数内部会自动根据结构体的参数配置相应寄存器
                                                            //实现GPIOA的初始化
    
    /*主循环,循环体内的代码会一直循环执行*/
    while (1)
    {
        /*使用GPIO_Write,同时设置GPIOA所有引脚的高低电平,实现LED流水灯*/
        GPIO_Write(GPIOA, ~0x0001);    //0000 0000 0000 0001,PA0引脚为低电平,其他引脚均为高电平,注意数据有按位取反
        Delay_ms(100);                //延时100ms
        GPIO_Write(GPIOA, ~0x0002);    //0000 0000 0000 0010,PA1引脚为低电平,其他引脚均为高电平
        Delay_ms(100);                //延时100ms
        GPIO_Write(GPIOA, ~0x0004);    //0000 0000 0000 0100,PA2引脚为低电平,其他引脚均为高电平
        Delay_ms(100);                //延时100ms
        GPIO_Write(GPIOA, ~0x0008);    //0000 0000 0000 1000,PA3引脚为低电平,其他引脚均为高电平
        Delay_ms(100);                //延时100ms
        GPIO_Write(GPIOA, ~0x0010);    //0000 0000 0001 0000,PA4引脚为低电平,其他引脚均为高电平
        Delay_ms(100);                //延时100ms
        GPIO_Write(GPIOA, ~0x0020);    //0000 0000 0010 0000,PA5引脚为低电平,其他引脚均为高电平
        Delay_ms(100);                //延时100ms
        GPIO_Write(GPIOA, ~0x0040);    //0000 0000 0100 0000,PA6引脚为低电平,其他引脚均为高电平
        Delay_ms(100);                //延时100ms
        GPIO_Write(GPIOA, ~0x0080);    //0000 0000 1000 0000,PA7引脚为低电平,其他引脚均为高电平
        Delay_ms(100);                //延时100ms
    }
}
 

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

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

相关文章

每天学点小知识:Windows终端Powershell美化

前言 本章的旨在教会你美化自己的终端,powershell需要以管理员运行 经过我的测试,不同的电脑可能会有不同的报错,具体操作根据官方为主https://ohmyposh.dev/docs 效果展示 Oh My Posh:提供美观的 PowerShell 提示符主题 1.安装…

【UE5.1 角色练习】08-物体抬升、抛出技能 - part2

目录 前言 效果 步骤 一、让物体缓慢的飞向手掌 二、向着鼠标方向发射物体 前言 在上一篇(【UE5.1 角色练习】08-物体抬升、抛出技能 - part1)的基础上继续完成角色将物体吸向手掌,然后通过鼠标点击的方向来发射物体的功能。 效果 步骤…

linux开发之设备树四、设备树中断节点

中断节点 这里是由原厂的BSP工程师写的一部分 在CPU的外部有一个GIC控制器,外设会连接在GIC控制器上 设备树是对硬件进行描述的,所以设备树会对CPU进行描述,也要对GIC 控制器进行描述,这部分的代码由原厂的BSP工程师进行编写&…

【蓝桥杯嵌入式】 第六届国赛

目录 题目 配置 注意事项 代码 - 默写大师 EEPROM读写函数 LED驱动函数 ADC采集 上电初始化 LCD 按键 PWM互补输出 全部代码 hardware.c hardware.h control.c control.h main.c 题目 配置 注意事项 复制LCD的工程,先配置资源 --- 勾选完选项一…

ARM-V9 RME(Realm Management Extension)系统架构之系统能力的执行隔离

安全之安全(security)博客目录导读 目录 一、执行隔离 1、安全状态 2、安全模型 本博客探讨 RME 所需的系统能力,以保证 Arm CCA 对于 Realms 的安全性和隔离特性。 一、执行隔离 1、安全状态 RME 系统支持以下安全状态: 非安全 (Non-secure)安全…

台灯护眼是真的吗?警惕这六大问题!

在当今社会,随着电子设备的普及和长时间的用眼,大多数人面临着严重的视觉疲劳问题。长时间盯着屏幕或学习,眼睛需要不断调节焦距,导致眼睛肌肉疲劳,进而引发视力下降。这种现象在年轻一代甚至青少年中尤为普遍&#xf…

Sourcetree安装教程及使用

1 Sourcetree介绍 Sourcetree是一款免费的Git图形化客户端,它由Atlassian开发,提供了跨平台的支持,可运行在Windows和Mac操作系统上。Sourcetree可以让开发者更方便地使用Git来管理代码,不需要在命令行中输入复杂的Git命令&#x…

10W QPS高并发,如何防止重复下单?

小北说在前面 10wqps高并发,如何防止重复提交/支付订单? 10wqps高并发,如何防止重复下单? 10wqps高并发,如何防止重复支付? 10wqps高并发,如何解决重复操作问题? 最近有小伙伴在面试…

Go开发Prometheus客户端实战步骤

1、项目背景 在当前的IT运维环境中,我们的业务系统日益复杂,特别是针对特定的业务逻辑和定制化需求,传统的通用监控工具往往难以覆盖所有的监控场景。例如,考虑到一个复杂的电商平台,除了基础的服务器性能、网络状况等…

JavaScript-内存分配

内存空间 内存分为栈和堆 栈:由操作系统自动释放存放的变量值和函数值等。简单数据类型存放在栈中 栈会由低到高先入后出 堆:存储引用类型 (对象) 对象会先将数据存放在堆里面,堆的地址放在栈里面

HTB-SherlocksDFIR

Sherlocks 中关于 DFIR 的一些内容,按照时间线整理,尚未完成,持续更新​ Brutus 和上一次做的 Recollection 机器一样,主要学习一下相关的知识,练习一下。按照机器描述,在学习完成后将熟悉 auth.log 和 wtm…

自建视频托管平台:MediaCMS

目录 1 MediaCMS简介1.1 介绍1.2 特性1.3 应用场景 2 安装配置2.1 安装1、安装2、汉化 2.2 一些常见配置 3 简单使用3.1 上传3.2 下载3.3 添加标题或者字幕3.4 通过Tag/Category实现视频/文件分类添加 Tag给任一资源分类 1 MediaCMS简介 1.1 介绍 MediaCMS是一个现代的&#…

2.10 mysql设置远程访问权限

2.10 mysql设置远程访问权限 目录1. 管理员运行mysql命令窗口2. 使用 root 用户重新登录 MySQL3. 修改用户权限4. 修改mysql安装目录下的my.ini 目录 说明: Mysql8.0 设置远程访问权限 一、Mysql8.0 设置远程访问权限 1. 管理员运行mysql命令窗口 2. 使用 root 用…

Java break细节(标签)

Java break细节(标签)continue也可以使用标签 break是用来跳出循环的。 当有多重循环时,可以配合标签来使用,决定跳出那一重循环。 尽量不要使用标签 1、不代标签时,默认跳出 break 所在的那重循环: 可见在 i 3 时&#xff0…

前端调用exe程序配置

前置条件 访问端安装好需要调用的exe程序 1、新建reg文件 先新建一个txt文件,重命名为xx.reg 点击是,确认更改 2、编写注册表内容 右键点击文件,用记事本打开,输入以下内容 将下面的${exeName}修改为自定义的程序名&#x…

react使用react-quill富文本编辑器自定义上传图片,添加handlers后编辑器不显示问题

Quill介绍 Quill 是一款 API 驱动、功能强大的现代富文本编辑器。它具有易于拓展、各平台表现一致性等优点。Quill 官方 1.0 版本于 2016 年 9 月发布,目前在 Github 上有41.8k Star。 官网地址:Quill - Your powerful rich text editor github仓库地…

剪画小程序:视频伪原创怎么制作?视频伪原创的几种制作方法分享!

什么是视频伪原创? 视频伪原创是指对已有的视频内容进行一定程度的修改和处理,使其在形式或部分细节上与原始视频有所不同,但保留了核心内容或主题。 视频伪原创包括以下一些常见操作: 剪辑重组:对原始视频进行剪辑…

整合SSM框架笔记

整合SSM框架笔记 Spring5 Spring MVC MyBatis Druid MySQL Thymeleaf 感谢尚硅谷课程:B站课程 前言 单Spring框架时,是Java工程。 Spring与Spring MVC可以共用一个配置文件,也可以不共用一个,推荐不共用一个。 Spring与Sp…

map优化多个if

原代码如下,多个按钮的点击操作,其中val是操作的按钮的标志 const operationConst {INSTALLAPP: installApp,STOPAPP: stopApp,HOME: home,CLEAR: clear...... } function moreOperation(val, list) {selectedList list && list.length 0 ?…

Pandas格式化DataFrame的浮点数列

在呈现数据的同时,以所需的格式显示数据也是一个重要而关键的部分。有时,值太大了,我们只想显示其中所需的部分,或者我们可以说以某种所需的格式。 让我们看看在Pandas中格式化DataFrame的数值列的不同方法。 例1:将…