修改LED的GPIO
您好,想问一下在库中都定义了GPIO_PIN_x,如果在LED的程序中想修改GPIO调用几,就那个口亮,这么修改可以吗?6口,7口的交替闪烁.Led_On(6);
delay_ms(500);
Led_Off(6);
delay_ms(500);
Led_On(7);
delay_ms(500);
Led_Off(7);
delay_ms(500);
在LED_On中做如下修改:
void Led_On(int GPIO_Number)
{
GPIO_ResetBits(GPIOC, "GPIO_Pin_"&char(GPIO_Number);
}
void Led_Off(int GPIO_Number)
{
GPIO_SetBits(GPIOC, "GPIO_Pin_"&char(GPIO_Number);
}
编译不通过{:smile:},如果自己定义调用的GPIO呢?
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
/* Configure PA.13 (JTMS/SWDAT), PA.14 (JTCK/SWCLK) and PA.15 (JTDI) as
output push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Configure PB.03 (JTDO) and PB.04 (JTRST) as output push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
GPIO_Init(GPIOB, &GPIO_InitStructure);应该这样初始化吧
谢谢楼上,
不能调用哪个,初始化哪个吗?
例如我想调用6,就用void Led_Init(int GPIO_Number);Led_Init(6); 函数中怎么写? 搞定了,打扰到大家了.因为定义的是无符号整数.所以函数的参数应该是uint16_t 函数的定义尤为重要,特别是变量定义。 你直接操作对应的PIN和GPIO就行了。 要看引用的什么。 用宏定义啊就可以解决这个问题啊 宏定义可以~
页:
[1]