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

stm32l496 G端口I2C1没有输出,其他口却可以?

[复制链接]
winamp123 提问时间:2018-4-4 09:22 /
最近调试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);

收藏 评论6 发布时间:2018-4-4 09:22

举报

6个回答
七哥 回答时间:2018-4-4 09:36:07
用HAL库试一下,LL库可能会有坑,HAL库相对靠谱些。
前段时间有坛友说STM32F103的LL库有坑,经我实验确认的确有坑,无法操作8到15的IO口。

评分

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

查看全部评分

MrJiu 回答时间:2018-4-4 09:39:24
I2C我记得要配置成开漏输出,然后外部上拉!!!当然了我不知道你这里的不输出指的是啥?没法直接拉高电平?还是说I2C没法输出高电平?

评分

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

查看全部评分

废鱼 回答时间:2018-4-4 09:47:57
我看了一下手册,PB6 PB7还有I2C4的功能,楼主用的是I2C几?最好是用cubemx生成一个例程看看。

评分

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

查看全部评分

winamp123 回答时间:2018-4-4 14:46:52
确定用的I2C1,  发送地址后ISR中的BUSY一直为1,也不产生STOP;
同样的设置I2C2 发送却没问题。
废鱼 回答时间:2018-4-8 09:59:02
示波器看一下波形是否正常?
winamp123 回答时间:2018-4-13 08:48:57
谢谢以上的回复。我用HAL库发现正常,看来LL还是有些设置没考虑到,我也不想费时去比较差异了,先这么用着。

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版