当前位置: 首页> 游戏> 网游 > 系统管理下载_推广互联网工具是什么意思_怎么让网站被百度收录_宁波优化网页基本流程

系统管理下载_推广互联网工具是什么意思_怎么让网站被百度收录_宁波优化网页基本流程

时间:2025/7/12 10:39:08来源:https://blog.csdn.net/2401_83010734/article/details/143787247 浏览次数:0次
系统管理下载_推广互联网工具是什么意思_怎么让网站被百度收录_宁波优化网页基本流程

一、寄存器描述

我们想要点亮LED,无非就是对于寄存器的一些设置,主要分为两步,首先是需要打开相应GPIO的时钟,这是因为STM32在上电后,每个外设的时钟默认都是关闭的,需要我们手动打开。其次就是对GPIO的一些寄存器进行设置,然后给端口输出0或1就可以点亮LED了。需要注意的是我们这次需要在KEIL5软件下进行编程。

二、编程实现

有了上面的寄存器表,我们只需要设置一些值就可以完成对GPIO的控制了,我这个开发板上面我使用的是GPIOF9和GPIOF10这两个端口,LED灯的负极接的GPIOF9和GPIOF10。程序如下:

#ifndef __LED_H__
#define __LED_H__#define uint unsigned inttypedef struct rGPIO
{uint MODER;uint OTYPER;uint OSPEEDR;uint PUPDR;uint IDR;uint ODR;uint BSRR;
}GPIO_TypeDef;typedef struct rRCC
{uint CR;uint PLLCFGR;uint CFGR;uint CIR;uint AHB1RSTR;uint AHB2RSTR;uint AHB3RSTR;uint RESERVED1;uint APB1RSTR;uint APB2RSTR;uint RESERVED2;uint RESERVED3;uint AHB1ENR;
}RCC_TypeDef;void led_init(void);
#endif
#include "led.h"GPIO_TypeDef *GPIOF = (GPIO_TypeDef *)0x40021400;  //GPIOF的起始地址
RCC_TypeDef *RCC = (RCC_TypeDef *)0x40023800;      //RCC的起始地址void led_init(void)
{RCC->AHB1ENR &= ~(0x01 << 5);RCC->AHB1ENR |= 0x01 << 5;      //开启GPIOF的时钟GPIOF->MODER &= ~((0x03 << 9*2) | (0x03 << 10*2));  GPIOF->MODER |= (0x01 << 9*2) | (0x01 << 10*2);   //端口F设置为通用输出模式GPIOF->OTYPER &= ~((0x01 << 9) | (0x01 << 10));GPIOF->OTYPER |= (0x0 << 9) | (0x0 << 10);        //端口F设置为推挽输出GPIOF->OSPEEDR &= ~((0x03 << 9*2) | (0x03 << 10*2));GPIOF->OSPEEDR |= (0x02 << 9*2) | (0x02 << 10*2); //端口F输出速度设置为50MHzGPIOF->ODR = 0xfffff0ff;                          //给GPIOF9和F10两个端口都输出0
}

三、注意事项

首先我们运行上述代码会发现程序好像并没有运行,然后我们只需要勾选一个地方就可以了。

如果还有一些错误比如下面这种:

那么你只需要在main()函数下面在加一个函数就可以了,里面什么都不需要写。

#include "led.h"int main(void)
{led_init();}void SystemInit(void)
{}

关键字:系统管理下载_推广互联网工具是什么意思_怎么让网站被百度收录_宁波优化网页基本流程

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: