STM32F0 GPIO重映像写入函数是什么
我需要重映像F042F4的P9-P10到 P11-P12,以开启CAN功能;STM32F1的是:GPIO_PinRemapConfig
GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);
F0的HAL库里是:
__HAL_REMAP_PIN_ENABLE(HAL_REMAP_PA11_PA12);
但在STM32F0库(1.3版)中找不到执行重映像的指令,请高人指点是多少?
同样的问题,目前还没有高人出现:P
https://www.stmcu.org.cn/module/forum/thread-603612-1-1.html
这里有个类似完整贴,个人水平有限,可能不是小封装的,不需要重映像,反正我也没有找到
http://bbs.21ic.com/icview-818912-1-1.html
找到了,主要是重映射时,还要配置寄存器的代码:
//重映射
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
SYSCFG->CFGR1 |= SYSCFG_CFGR1_PA11_PA12_RMP;//PA11 and PA12 remap on QFN28 and TSSOP20 packages
搞定了。:lol STM32F1以外所有系列的关于管脚复用配置 更为简单。
F0的标准库里也有相关配置代码:
GPIO_InitTypeDefGPIO_InitStructure;
CAN_InitTypeDef CAN_InitStructure;
CAN_FilterInitTypeDefCAN_FilterInitStructure;
/* CAN GPIOs configuration **************************************************/
/* Enable GPIO clock */
RCC_AHBPeriphClockCmd(CAN_GPIO_CLK, ENABLE);
/* Connect CAN pins to AF7 */
GPIO_PinAFConfig(CAN_GPIO_PORT, CAN_RX_SOURCE, CAN_AF_PORT);
GPIO_PinAFConfig(CAN_GPIO_PORT, CAN_TX_SOURCE, CAN_AF_PORT);
/* Configure CAN RX and TX pins */
GPIO_InitStructure.GPIO_Pin = CAN_RX_PIN | CAN_TX_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd= GPIO_PuPd_UP;
GPIO_Init(CAN_GPIO_PORT, &GPIO_InitStructure);
/* Enable CAN clock */
RCC_APB1PeriphClockCmd(CAN_CLK, ENABLE);
/* CAN register init */
CAN_DeInit(CANx);
CAN_StructInit(&CAN_InitStructure);
。。。。。。。
本帖最后由 Paderboy 于 2016-3-21 19:31 编辑
好吧,我用CubeMx帮你调试出来了。。
:):):):):):) CUBEMX按住Ctrl+Pin 多谢,用到
页:
[1]