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

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