当前位置: 首页 > news >正文

哪里有做网站优化的公司如何推广网址

哪里有做网站优化的公司,如何推广网址,wordpress本地mp3,wordpress搬家后乱码前提:你已经下好了标准外设库,如果没有可以去找找教程 ST官网上可以下载 目录 前提:你已经下好了标准外设库,如果没有可以去找找教程 ST官网上可以下载 点灯逻辑 1. 定义 GPIO 初始化结构体 2. 开启GPIOA的时钟…

前提:你已经下好了标准外设库,如果没有可以去找找教程        ST官网上可以下载

目录

前提:你已经下好了标准外设库,如果没有可以去找找教程        ST官网上可以下载

点灯逻辑

1. 定义 GPIO 初始化结构体

2. 开启GPIOA的时钟

一、PA1 的含义

3.初始关闭 LED(输出高电平)

 4.配置 GPIOA Pin1为推挽输出

5.点亮 LED(输出低电平)


点灯逻辑

开始
│
├── 定义 GPIO 初始化结构体
│
├── 开启 GPIOA 时钟
│
├── 初始关闭 LED(输出高电平)
│
├── 配置 GPIOA Pin1为推挽输出
│
├── 点亮 LED(输出低电平)
│
└── 进入死循环,保持状态不变

1. 定义 GPIO 初始化结构体

GPIO_InitTypeDef gpio_initstruct = {0};
/*  使用结构体 GPIO_InitTypeDef 来配置 GPIO 的工作模式。{0} 表示清零结构体内容,避免使用未初始化的数据。
*/

解释:

//结构体原型
typedef struct
{uint16_t GPIO_Pin;             /*< 用于指定要配置的 GPIO 引脚 */GPIOSpeed_TypeDef GPIO_Speed;  /*用于设定所选引脚的速度*/GPIOMode_TypeDef GPIO_Mode;    /*用于指定所选引脚的操作模式*/}GPIO_InitTypeDef;

2. 开启GPIOA的时钟

这张图可以知道我们点亮的灯是在由PA1引脚控制 

一、PA1 的含义

  • P:表示这是一个 Port(端口)
  • A:表示这是 GPIOA(General Purpose Input/Output Port A) 端口。
  • 1:表示这是 GPIOA 端口中的 Pin1(引脚 1)

因此,PA1 具体指的是 GPIOA 端口的第 1 号引脚

根据这张图我们可以知道

  1. Cortex-M3 通过 DCodeSystem 总线连接到 AHB 系统总线

  2. AHB 系统总线 通过 桥接器(桥接 1) 连接到 APB2 总线

  3. APB2 总线 连接到 GPIOA

 接下来我们就来写代码:

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
/* RCC    	          STM32 中管理时钟和复位的模块APB2	         	  高级外设总线 Periph		      外设	Clock	Clock	  时钟	     控制该外设的时钟Cmd	              Command	命令 表示这是一个“命令”函数,用来开启或关闭
*/

解释:

//函数原型
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
//功能:根据传入的参数,决定是否开启或关闭某个 APB2 外设的时钟

uint32_t RCC_APB2Periph:表示要操作的 APB2 总线上的某个外设。
比如:RCC_APB2Periph_GPIOA(GPIOA 端口)、RCC_APB2Periph_USART1(串口1)等。

FunctionalState NewState:是一个枚举类型,表示要设置的状态。
只有两个值:
                    ENABLE:开启该外设的时钟
                    DISABLE:关闭该外设的时钟

3.初始关闭 LED(输出高电平)

  • 由图可知需要低电平才会有电势差,才能点亮LED灯。
  • 💡 这里先让 LED 熄灭是为了确保初始状态。
GPIO_SetBits(GPIOA,GPIO_Pin_1);
功能:将GPIOA中的引脚1设置为高电平。
//函数原型
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
GPIO_TypeDef* GPIOx:这个参数表示你要操作的是哪个 GPIO 端口
uint16_t GPIO_Pin:它表示你要操作的是该端口下的 哪一个具体的引脚

 4.配置 GPIOA Pin1为推挽输出

    //配置io模式 推挽模式,50mgpio_initstruct.GPIO_Pin    = GPIO_Pin_1;gpio_initstruct.GPIO_Mode   = GPIO_Mode_Out_PP;gpio_initstruct.GPIO_Speed  = GPIO_Speed_50MHz;GPIO_Init(GPIOA,&gpio_initstruct);//配置端口引脚的模式

解释:

gpio_initstruct.GPIO_Pin    = GPIO_Pin_1;
gpio_initstruct.GPIO_Mode   = GPIO_Mode_Out_PP;
gpio_initstruct.GPIO_Speed  = GPIO_Speed_50MHz;
这三句是开头初始化的那个结构体,现在是来设置具体模式和参数了。GPIO_Init(GPIOA, &gpio_initstruct);
这个代码的意思是:初始化某个 GPIO 引脚的模式和参数参数说明:
GPIO_TypeDef* GPIOx:表示你要操作的是哪个端口
GPIO_InitStruct:是一个结构体指针,指向你配置好的 GPIO 参数:引脚编号(Pin)工作模式(Mode)输出速度(Speed)

5.点亮 LED(输出低电平)

  •  GPIO_ResetBits(GPIOA,GPIO_Pin_1);
    功能:将GPIOA中的引脚1设置为低电平。

    设置为低电平灯就有了电势差,就可以亮了。

最后加个while(1);就可以一直亮了;

int main(void)
{GPIO_InitTypeDef gpio_initstruct = {0};//初始化gpio结构体//开启端口时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //开启端口时钟//关闭灯GPIO_SetBits(GPIOA,GPIO_Pin_1);//让端口引脚输出1,使得灯灭//配置io模式 推挽模式,50mgpio_initstruct.GPIO_Pin    = GPIO_Pin_1;gpio_initstruct.GPIO_Mode   = GPIO_Mode_Out_PP;gpio_initstruct.GPIO_Speed  = GPIO_Speed_50MHz;GPIO_Init(GPIOA,&gpio_initstruct);//配置端口引脚的模式//开灯GPIO_ResetBits(GPIOA,GPIO_Pin_1);//让端口引脚输出0,使得灯亮while(1);
}

http://www.dtcms.com/a/396735.html

相关文章:

  • mixkitcom素材网站wordpress 微信 插件
  • 牛商网网站后台自己如何做网站推广
  • 网站优化方案怎么写中企动力简介
  • 社区子网站群建设鞍山做网站优化
  • 网站哪里有wordpress建站云平台
  • 国内外知名建设设计网站注册域名要多少钱
  • 做毕业设计免费网站建设正规网站建设排行
  • 曹县住房和城乡建设局网站网络营销的特点中任何时间任何地点体现的是
  • 中山网站软件学网站开发哪里好
  • pc网站建设意见昆明模板建站定制网站
  • elementor做视频网站wordpress主题付费
  • 电商网站seo怎么做橙 建网站
  • 网站开发老是弹广告邢台建设局官方网站
  • 《语文建设》网站注册公司名称查询系统官网
  • 织梦做网站也是模板吗丰台做网站公司
  • 注册域名建设网站dnf怎么做盗号网站
  • 南昌网站建设模板下载网址深圳app制作公司
  • 做网站一定要域名吗效果图外包
  • 网站专题设计欣赏建设中网站
  • 龙岩网站设计价格营销网络是什么意思
  • 做网站的 视频做网站需要什么学历
  • 没有备案的交易网站苏州微信小程序开发公司
  • emlog怎么做视频网站赞助网站怎么做
  • 长沙会议网站设计哪家专业网站推广的方法有哪些?
  • 做网站买岩棉河北邢台特产
  • 长沙做公司网站大概多少钱敬请期待英文
  • 做家装的网站好h5开发教程
  • 阳春网站制作乐清网站建设推广
  • 成都专业网站推广公司网页游戏排行榜前十名田田田田田田田田田田
  • 沈阳哪里做网站用wordpress编辑文章如何全屏