stm32l496 G端口I2C1没有输出,其他口却正常

2019-07-14 14:36发布

最近调试496 I2C遇到个问题。I2C1映射到Port G PG13/PG14没有输出,然而映射到B端口 PB6/PB7却正常。初始化代码如下,已经使能了VDDIO2。请问哪位高手有经验,是否G端口还有其他设置? 谢谢。

    LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOG);
    HAL_PWREx_EnableVddIO2();

    LL_GPIO_SetPinMode(GPIOG, LL_GPIO_PIN_13, LL_GPIO_MODE_ALTERNATE);
    LL_GPIO_SetAFPin_0_7(GPIOG, LL_GPIO_PIN_13, LL_GPIO_AF_4);
    LL_GPIO_SetPinSpeed(GPIOG, LL_GPIO_PIN_13, LL_GPIO_SPEED_FREQ_HIGH);
    LL_GPIO_SetPinOutputType(GPIOG, LL_GPIO_PIN_13, LL_GPIO_OUTPUT_OPENDRAIN);
    LL_GPIO_SetPinPull(GPIOG, LL_GPIO_PIN_13, LL_GPIO_PULL_UP);

    LL_GPIO_SetPinMode(GPIOG, LL_GPIO_PIN_14, LL_GPIO_MODE_ALTERNATE);
    LL_GPIO_SetAFPin_0_7(GPIOG, LL_GPIO_PIN_14, LL_GPIO_AF_4);
    LL_GPIO_SetPinSpeed(GPIOG, LL_GPIO_PIN_14, LL_GPIO_SPEED_FREQ_HIGH);
    LL_GPIO_SetPinOutputType(GPIOG, LL_GPIO_PIN_14, LL_GPIO_OUTPUT_OPENDRAIN);
    LL_GPIO_SetPinPull(GPIOG, LL_GPIO_PIN_14, LL_GPIO_PULL_UP);
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
jfuwre
1楼-- · 2019-07-14 19:39
I2C我记得要配置成开漏输出,然后外部上拉!!!当然了我不知道你这里的不输出指的是啥?没法直接拉高电平?还是说I2C没法输出高电平?
TOPCB
2楼-- · 2019-07-14 23:29
 精彩回答 2  元偷偷看……
zaichenxi
3楼-- · 2019-07-15 02:02
确定用的I2C1,  发送地址后ISR中的BUSY一直为1,也不产生STOP;
同样的设置I2C2 发送却没问题。
TOPCB
4楼-- · 2019-07-15 05:25
示波器看一下波形是否正常?
zaichenxi
5楼-- · 2019-07-15 09:56
谢谢以上的回复。我用HAL库发现正常,看来LL还是有些设置没考虑到,我也不想费时去比较差异了,先这么用着。

一周热门 更多>