在“Pinout & Configuration”中找到PA5,将其模式设置为“GPIO_Output”。 点击“Apply”保存设置。 三、编写代码 3.1 初始化GPIO 在main.c文件中,添加以下代码来初始化GPIO: #include "main.h" void SystemClock_Config(void); static void MX_GPIO_Init(void); int main(void) { // HAL库初始化 HAL_Ini...
*/intmain(void){/* LED 端口初始化 */LED_GPIO_Config();/* 控制LED灯 */while(1){speed(0x200000,3);speed(0x500000,2);speed(0xFFF000,1);}}voidDelay(__IOuint32_tnCount)//简单的延时函数{for(;nCount!=0;nCount--);}voidspeed(inttime,inttimes){for(i=0;i<times;i++){LED1(ON...
功能:DL_GPIO_enableOutput 用于确保指定引脚(LED_PIN)处于输出模式,并且能够驱动电平变化。这通常是在配置引脚为输出之后,使其能够控制外部设备(例如 LED)的工作。 2.2.4 主函数测试 int main(void) { SYSCFG_DL_init(); // ti_msp_dl_config.c LED_Init(); while(1) { DL_GPIO_clearPins(LED_PORT,...
unsigned offset);int(*gpio_set_direction) (structpinctrl_dev *pctldev,structpinctrl_gpio_range *range, unsigned offset,boolinput);--设置GPIO的input/output。boolstrict; };structpinconf_ops { #ifdef CONFIG_GENERIC_PINCONFboolis_generic;#endifint(*pin_config_get) (structpinctrl_dev *pctldev, u...
LED_GPIO_Config用户定义的初始化函数(bsp_led.c) STM32的每个I/O口都由7个寄存器控制:2个32位端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR;1个32位的置位复位寄存器BSRR;1个16位的复位寄存器BRR;1个32位的锁存寄存器LCKR;最常用的有4个:CRL/CRH/IDR/ODR;因此通常情况下只需要配置好以上四个寄存器...
LED 灯的控制使用到 GPIO 外设的基本输出功能,本章中不再赘述 GPIO 外设的概念,如您忘记了,可重读前面“GPIO 框图剖析”小节, STM32 标准库中 GPIO 初始化结构体GPIO_TypeDef 的定义与“定义引脚模式的枚举类型”小节中讲解的相同。 9.1 硬件设计:
LED_GPIO_Config(); while (1) { LED_CYAN; delay(0XFFFFF); LED_ALL_OFF; delay(0XFFFFF); } } void delay(uint32_t count) { for (; count != 0; count--); } GPIO具有锁定机制,可以冻结该GPIO的配置,即在下次复位前,不能更改GPIO的配置。
=0;count--);}intmain(void){//来到这里是,系统的时钟已经被配置到72MHz了LED_GPIO_Config();KEY_GPIO_Config();//初始化KEY函数#if0//GPIO输出while(1){PBout(5)=1;Delay(0xfffff);PBout(5)=0;Delay(0xfffff);}#else//GPIO输入while(1){if(PCin(13)==KEY_ON){while(PCin(13)==KEY_ON)...
GPIO_ResetBits(GPIOx , GPIO_Pin_y)表示将Px(y)的引脚拉低; 二. 示例程序:通过控制引脚PB5输出高低电平实现led灯的亮灭。 登录后复制“bsp_led.c”//led驱动文件#include"bsp_led.h"voidLED_GPIO_Config(void){ GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB , EN...
voidLED_GPIO_Config(void){/*定义一个GPIO_InitTypeDef类型的结构体*/GPIO_InitTypeDefGPIO_InitStructure;/*开启LED相关的GPIO外设时钟*/RCC_APB2PeriphClockCmd(LED1_GPIO_CLK|LED2_GPIO_CLK|LED3_GPIO_CLK,ENABLE);/*选择要控制的GPIO引脚*/GPIO_InitStructure.GPIO_Pin=LED1_GPIO_PIN;/*设置引脚模式为通用...