关于led灯初始化的问题,急求回答,感谢感谢

2019-07-20 22:43发布

在做一个程序,要求在led呼吸灯跟闪烁灯两种状态之间切换,但是配置这两种模式初始化是一个是复用推挽输出,一个是推挽输出,这该怎么办!!!!急求急求
这样只能出现一种LED灯状态
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
爱飞行的驴
1楼-- · 2019-07-21 15:00
1599064432 发表于 2019-7-6 17:38
我写led闪烁和呼吸灯都是这么配置的,运行正常,没出现什么问题

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
这两个没见过???为啥我配置只有上面三个
1599064432
2楼-- · 2019-07-21 18:41
爱飞行的驴 发表于 2019-7-6 17:40
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
...

我这是030的片子
1599064432
3楼-- · 2019-07-21 23:13
爱飞行的驴 发表于 2019-7-6 17:40
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
...

void led_gpio_init(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA);        //打开GPIO时钟
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOA,&GPIO_InitStructure);                        //初始化
}


这是103的
爱飞行的驴
4楼-- · 2019-07-22 02:41
 精彩回答 2  元偷偷看……
k233
5楼-- · 2019-07-22 03:32
你可以直接操作寄存器来改变复用推挽输出和推挽输出,推挽的话要全部都重新定义
RCC->APB2ENR|=1<<3;
RCC->APB2ENR|=1<<6;
GPIOB->CRL&=0XFF0FFFFF;
GPIOB->CRL|=0X00300000;
GPIOB->ODR|=1<<5;
//GPIOE->CRL&=0XFF0FFFFF;
//GPIOE->CRL|=0X00300000;
//GPIOE->ODR|=1<<5; ,
复用推挽的话直接 GPIOB->CRL|=0X00B00000;          这样就行了
Smartaotao
6楼-- · 2019-07-22 08:40
 精彩回答 2  元偷偷看……

一周热门 更多>