STM32F103 点亮LED闪烁与仿真

STM32F103 点亮LED闪烁与仿真

今天给大家分享一下STM32 流水灯简单的仿真吧,我感觉这个提供有用的,但是自己也是第一次使用,主要是感觉曲线很高级。在PWM中查看脉宽很有用。

code: led.c

#include "led.h"

#include "delay.h"

/*

GPIO的控制寄存器的配置

1、配置输出引脚

2、打开对应的输出的寄存器的时钟

3、配置引脚输出的模式:强上拉、推完、开漏输出

4、配置输出的速度。

*/

void Led_funcing(){

GPIO_DeInit(LED_GPIO_PORT);// 注意这里的函数非常的重要,这里是将对应的GPIO端口初始化成默认的样子,因为这个端口可能在以前使用过,其他的配置可能发生了改变

GPIO_InitTypeDef GPIOC_LED_Init; // 定义GPIO的结构体,也就是外设的结构体

RCC_APB2PeriphClockCmd( LED_GPIO_CLK,ENABLE); //打开对应的GPIO的时钟,注意这里不同的外设可能挂载的时钟不同,所以需要开原理图,

GPIOC_LED_Init.GPIO_Pin=LED_GPIO_PIN ; // 配置需要使用的引脚

GPIOC_LED_Init.GPIO_Mode=GPIO_Mode_Out_PP; //配置引脚的输出的模式

GPIOC_LED_Init.GPIO_Speed=GPIO_Speed_50MHz; // 配置输出的频率,这个在输入的时候不需要配置

GPIO_Init(LED_GPIO_PORT,&GPIOC_LED_Init); // 使用初始化函数初始化刚刚定义的结构体,以及对应的GPIO端口

}

code: mian.c

#include "stm32f10x.h"

#include "led.h"

#include "delay.h"

/*

功能的实现,注意在KEIL5中不要使用中文的空格这样将会出现错误。重点,重点,重点

*/

int main(){

Led_funcing();

// int k=5;

while(1)

{

GPIO_SetBits(LED_GPIO_PORT, LED_GPIO_PIN ); // 将对应的GPIO端口对应的引脚设置位高电平

delay(10000);//延时

GPIO_ResetBits(LED_GPIO_PORT, LED_GPIO_PIN); // 将对应的GPIO端口对应的引脚设置成低电平

delay(10000); // 延时,

}

}

/*

总结:

1、在进行不同功能函数的编写的时候,最好在USER文件夹下面建一个对应的文件,注意有C文件,那么就一定有H文件

2、在编译C文件的时候,首先应当在配中找到对应的H文件的文件夹目录

3、不同的芯片对应的库函数具有一定的差异,所以在进行引入库的时候,可能会出错误,

4、如果在编译的时候出现相关的库函数文件无法正常的打开,那么首先需要查看是否指定相关的路径

5、在魔术棒中的文件的输出最好都定义到自己的文件夹中,这样便于进行需要找。

*/

相关推荐
鸿喵小仙女5 分钟前
HC32 SWDT看门狗
单片机·嵌入式硬件·hc32
点灯小铭7 分钟前
基于单片机的喷漆机器人自动控制系统
单片机·嵌入式硬件·机器人·毕业设计·课程设计·期末大作业
丸子的蓝口袋31 分钟前
光耦加PNP管驱动继电器
嵌入式硬件
Dillon Dong1 小时前
STM32嵌入式开发:巧用位运算,打造高效参数ID管理方案
stm32·单片机·嵌入式硬件
亿道电子Emdoor1 小时前
【Arm】Arm DS如何导出Build log文件
stm32·单片机·嵌入式硬件
DIY机器人工房1 小时前
解决方法:关于上传经纬度绑定到onenet可视化平台地图上位置偏移的问题
stm32·单片机·嵌入式硬件·gps·定位·diy机器人工房
墨染倾城殇1 小时前
蓝牙车钥匙方案:低功耗蓝牙模块引领科技与生活完美融合
科技·嵌入式硬件·生活·蓝牙模块·低功耗蓝牙·车钥匙解决方案
richxu202510011 小时前
嵌入式学习之路>单片机核心原理篇>(14) ARM 架构
arm开发·单片机·学习
清风6666662 小时前
基于单片机的蔬菜大棚温湿度远程测报系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
电子科技圈2 小时前
SiFive车规级RISC-V IP获IAR最新版嵌入式开发工具全面支持,加速汽车电子创新
嵌入式硬件·tcp/ip·设计模式·汽车·代码规范·risc-v·代码复审