你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F767IGT6 的PB4 能不能复用为I2S2 ?

[复制链接]
walker2012 提问时间:2018-5-29 11:03 /
本帖最后由 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  ?

收藏 评论7 发布时间:2018-5-29 11:03

举报

7个回答
STM1024 回答时间:2018-5-29 11:28:40
本帖最后由 stm1024 于 2018-5-29 11:35 编辑

通常,手册上针脚的描述,会有这么两列:
Alternate functions
default,remap对于STM32F103VET6,我要用CAN,首先看手册:好几个地方都可以作为CAN的TX和RX
2018-05-29_112515.jpg
这个是default

这两个是remap
2018-05-29_112355.jpg

2018-05-29_112219.jpg
我理解的是,第一列,是使用针脚复用,例如:
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了

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

andey 回答时间:2018-5-29 12:58:20
提示: 作者被禁止或删除 内容自动屏蔽
五哥1 回答时间:2018-5-29 14:38:18
用CUBE先把PB12占用(设定输出或输入),然后用PB4的 I2S2_WS ,先只用这一个功能,测试下就能快速的知道结果。没有这个板板,不然我就替你做个测试

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

wolfgang 回答时间:2018-5-29 16:59:32
打开CubeMX 或者数据手册
找PB12 、PB4  的复用手册 引脚的功能复用交叉表不是 一对一的。不是说PB12 有什么功能PB4  也能复用同样的功能。即便能复用,复用的编号不一样。
一切以复用交叉表作为参考。便捷的方式适用CubeMX pin角功能选择下拉框实现。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

七哥 回答时间:2018-5-30 01:32:18
好多个管脚都可以复用为 I2S2_WS的。数了数,一个F7X7共有5个可以复用为 I2S2_WS的,具体到F767ZG也可以有4个。
傲游截图20180530012728.jpg

傲游截图20180530012758.jpg

傲游截图20180530012826.jpg

傲游截图20180530012839.jpg

傲游截图20180530012858.jpg

傲游截图20180530013237.jpg

傲游截图20180530013305.jpg

傲游截图20180530013352.jpg

傲游截图20180530013405.jpg



评分

参与人数 1蝴蝶豆 +5 收起 理由
zero99 + 5

查看全部评分

walker2012 回答时间:2018-5-30 07:00:14
toofree 发表于 2018-5-30 01:32
好多个管脚都可以复用为 I2S2_WS的。数了数,一个F7X7共有5个可以复用为 I2S2_WS的,具体到F767ZG也可以有4 ...

很用心的描述。谢谢。
zero99 回答时间:2018-6-4 13:14:14
楼主问题解决了吗
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版