1.硬件设计

本次用到的硬件只有 LED(DS0 和 DS1)。其电路在 ALIENTEK 探索者 STM32F4 开发板 上默认是已经连接好了的。DS0 接 PF9,DS1 接 PF10。所以在硬件上不需要动任何东西。其连 接原理图如图

2.软件设计

1.

首先,找到TEST 工程(在光盘:4,程序源码\1,标准例程-寄存器版本 \实验 0 新建工程实验) ,在该工程文件夹下面新建一个 HARDWARE 的文件夹,用来存储以后 与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个 LED 文件夹,用来存放与 LED 相 关的代码。

2.

然后我们打开 USER 文件夹下的 test.uvproj 工程,新建一个C文件,然后保存在
HARDWARE→LED 文件夹下面,保存为 led.c。在该文件中输入如下代码:

#include "led.h"
//初始化 PF9 和 PF10 为输出口.并使能这两个口的时钟
//LED IO 初始化
void LED_Init(void)
{        RCC->AHB1ENR|=1<<5;//使能 PORTF 时钟          GPIO_Set(GPIOF,PIN9|PIN10,GPIO_MODE_OUT,GPIO_OTYPE_PP, GPIO_SPEED_100M,GPIO_PUPD_PU); //PF9,PF10 设置  LED0=1;//LED0 关闭  LED1=1;//LED1 关闭
}

然后再在LED文件夹中加一个led.h(这是规范,规矩就是规矩,自定义文件中.c与.h并存)
接着把.c文件和.h文件加入工程中



3.

时钟使能:

(在rcc文件中此处有5个使能函数,我们选第一个AHB1)

选AHB1中的参数时定位到AHB1函数中去,然后在函数中发现assert_param函数直呼内涵,因为我们可以在此函数中发现参数的具体位置,如下图所示:

它的有效值一般在上面的宏定义中,我们初始化的IO是F,故第一个参数的值为RCC_AHB1Periph_GPIOF(因为我们PF9,PF10对应的是F的IO口),如下图所示:


同理,第二个参数:

所以,我们的我们使能部分函数为:

IO口的初始化函数:

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)

很明显,第一个参数为哪个IO口,我们填GPIOF,第二个参数为一个结构体变量,我们先定义一个结构体,然后依次配结构体内部各个参数,最后在GPIO_Init函数中取此结构体的地址。(详细步骤不说,上面已经稍作演示)

最后主函数:

STM32跑马灯实验的基本步骤(库函数)相关推荐

  1. 常用库函数_跑马灯实验和我为什么使用库函数?

    建议阅读时长15min,全是干货 希望读者能点赞,关注,分享,让我更有动力,等我彻底写完stm32的学习日志,我会制作成电子书,分享给大家. 我为什么使用库函数进行编写程序? 截至2020年8月28日 ...

  2. stm32跑马灯实验

    本文记录STM32mini开发板实验 普通跑马灯 回归GPIO基础知识 每组IO口含有下面7个寄存器,7个寄存器一共可以控制一组GPIO的16个IO口. GPIOx_CRL:端口配置低寄存器 GPIO ...

  3. 嵌入式系统stm32 跑马灯实验

    一.实验目的和实验要求 实验要求:短按实验板扩展板上的按键SW18,依次点亮核心板上D2-D4指示灯.长按按键2秒,实现四个灯循环点亮(跑马灯). 二.实验原理 如上图所示,四个 LED 正极通过电阻 ...

  4. STM32-GPIO学习-跑马灯实验和按键实验-寄存器版本和HAL库版本

    一.stm32跑马灯实验 a.GPIO general purpose input output 通用输入输出端口,可以做输入也可做输出,GPIO端口可通过程序配置成输入或输出. STM32FXXXI ...

  5. 小白学STM32——跑马灯库函数版本

    一.STM32 GPIO 1. GPIO_MODE_AIN 模拟输入 输入信号不经施密特触发器直接接入,输入信号为模拟量而非数字量,其余输入方式输入数字量. 2. GPIO_MODE_IN_FLOAT ...

  6. 【STM32】跑马灯实验主要程序代码分析

    文章目录 main.c led.c led.h STM32 的 IO 口可以由软件配置成如下 8 种模式: 输入浮空 输入上拉 输入下拉 模拟输入 开漏输出 推挽输出 推挽式复用功能 开漏复用功能 S ...

  7. 【stm32】如何把原子哥的代码移植到最小系统板stm32f103c8t6 以跑马灯实验为例

    [stm32]如何把原子哥的代码移植到最小系统板stm32f103c8t6 以跑马灯实验为例 外部硬件: stm32仿真编程器 (仿真编制器自己在网上买,不确定买哪个的可以就买我这个,图片上有牌子,自 ...

  8. 正点原子探索者原理图_正点原子【STM32-F407探索者】第六章 跑马灯实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 http://weixin.qq.com/r/hEhUT ...

  9. 【正点原子MP157连载】第十章 跑马灯实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

最新文章

  1. keepalived+haproxy(双主)+nginx(静态)+lamp(动态)部署phpBB
  2. spring 计划任务_与Spring的计划任务一起按时运行
  3. eclipse插件开发_开发Eclipse插件
  4. 数据预处理 泰坦尼克号_了解泰坦尼克号数据集的数据预处理
  5. mysql主键重复会覆盖还是_mysql如果主键重复了会发生什么情况
  6. iPhone和Android的区别,从警示框看iPhone与Android的区别
  7. Python 之 循环
  8. luoguP3723 HNOI2017 礼物
  9. Voxengo音频插件合集:Voxengo Total Bundle for Mac
  10. 如何在M1的Mac上检查App是原生执行,还是Rosetta转译后执行?
  11. 机械类常用英语(一.组装、冲压、喷漆等专业词汇)
  12. 用Anaconda下载tensorflow(windows)小白教程
  13. android项目查看sdk版本号,怎查看Android项目的Android版本
  14. Mac环境配置MySQL(详细)
  15. 【动画演示软件】Focusky教程 | 加入 配音/录音/字幕
  16. 联想微型计算机开机黑屏什么原因,联想电脑开机后显示屏是黑屏怎么办
  17. 谷歌首度证实重返中国的Dragonfly计划存在丨Q新闻
  18. 【Stable Diffusion | AI 绘画】手把手教你体验--AI 生成唯美二次元
  19. python批量修改图片格式和名称
  20. 数据库学习笔记(SQL server语句)

热门文章

  1. 【51单片机实验笔记】1. LED的初级控制
  2. 家居家装行业人群洞察白皮书.pdf
  3. Java结合腾讯云实现短信验证码的发送
  4. 解决 Performing stop of activity that is not resumed 报错!!
  5. android pie_Android Pie中的新安全功能,以及为什么对它们感到兴奋
  6. echarts的词云图
  7. python爬虫模板(个人总结)
  8. 名帖385 文徵明 行草《雪诗卷》
  9. cdr轮廓字怎么把轮廓拆出来_用corelDraw怎么把文字做成轮廓?
  10. 使用函数统计指定数字的个数 (15 分)