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

STM32F767IGT6 的PB4 能不能复用为I2S2 ?

[复制链接]
WALKER168 提问时间: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

查看全部评分

andeyqi 回答时间:2018-5-29 12:58:20
767.PNG

评分

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

查看全部评分

五哥1 回答时间:2018-5-29 14:38:18
用CUBE先把PB12占用(设定输出或输入),然后用PB4的 I2S2_WS ,先只用这一个功能,测试下就能快速的知道结果。没有这个板板,不然我就替你做个测试

评分

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

查看全部评分

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

评分

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

查看全部评分

toofree 回答时间: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

查看全部评分

WALKER168 回答时间: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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版