如题,我想设置PA0-3的IO口为推挽输出模式,按照参考手册设置如下 GPIOA->MODER&=0xffffff00; GPIOA->MODER|=0x00000055; GPIOA->ODR |=0x000f; 这样设置后,jlink无法完成下载,按照库函数方式设置后就可以,如下 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA, &GPIO_InitStructure); 不知道哪里出了问题,烦请各位帮忙解答一下,谢谢 |
提示什么错误啊?
推挽输出是另外一个寄存器 GPIOA_OTYPER
GPIOA->OTYPER &= 0xFFFFFFF0; //推挽输出
GPIOA->OSPEEDR &= 0xFFFFFF00;
GPIOA->OSPEEDR |= 0x000000FF; // 输出速度 HIGH
不是吧。库就可以,寄存器不可以应该不是占用了SWD的原因
输出模式,推挽没设置,应该默认吧?
正常的啊
搞定了,没写全吗难道说
GPIOA->MODER&=0xffffff00;
GPIOA->MODER|=0x00000055;
GPIOA->OTYPER&=0x0000fff0;
GPIOA->OTYPER|=0x00000000;
GPIOA->OSPEEDR&=0xffffff00;
GPIOA->OSPEEDR|=0x000000ff;
GPIOA->PUPDR&=0xffffff00;
GPIOA->PUPDR|=0x00000055;
GPIOA->ODR |=0x000f;