STM32F767IGT6 的PB4 能不能复用为I2S2 ?
本帖最后由 WALKER168 于 2018-5-29 11:08 编辑之前用PB12 复用为 I2S2_WS 脚, 驱动WM8978 .
官方头文件 stm32f7xx_hal_gpio_ex.h 有如下定义:
#define GPIO_AF5_SPI2 ((uint8_t)0x05)/* SPI2/I2S2 Alternate Function mapping */
看到STM32F767IGT6的PB4引脚说明,也可以复用为I2S2_WS 脚,因为布线需要就想用PB4替换PB12,复用为I2S2_WS 。
但官方头文件 stm32f7xx_hal_gpio_ex.h定义:
#define GPIO_AF7_SPI2 ((uint8_t)0x07)/* SPI2 Alternate Function mapping */
这是否意味着,实际上 PB4是不能复用为 I2S2_WS?
本帖最后由 stm1024 于 2018-5-29 11:35 编辑
通常,手册上针脚的描述,会有这么两列:
Alternate functions
default,remap对于STM32F103VET6,我要用CAN,首先看手册:好几个地方都可以作为CAN的TX和RX
这个是default
这两个是remap
我理解的是,第一列,是使用针脚复用,例如:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO,ENABLE);
对于第二列,就是还有额外功能,这个时候就要使用remap了:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);
如果没有下面一行的话,就只能用做TIM4的channel3/4了
用CUBE先把PB12占用(设定输出或输入),然后用PB4的 I2S2_WS ,先只用这一个功能,测试下就能快速的知道结果。没有这个板板,不然我就替你做个测试 打开CubeMX 或者数据手册
找PB12 、PB4的复用手册 引脚的功能复用交叉表不是 一对一的。不是说PB12 有什么功能PB4也能复用同样的功能。即便能复用,复用的编号不一样。
一切以复用交叉表作为参考。便捷的方式适用CubeMX pin角功能选择下拉框实现。 好多个管脚都可以复用为 I2S2_WS的。数了数,一个F7X7共有5个可以复用为 I2S2_WS的,具体到F767ZG也可以有4个。
toofree 发表于 2018-5-30 01:32
好多个管脚都可以复用为 I2S2_WS的。数了数,一个F7X7共有5个可以复用为 I2S2_WS的,具体到F767ZG也可以有4 ...
很用心的描述。谢谢。 楼主问题解决了吗
页:
[1]