打印

GD32F150无法修改I2C寄存器

[复制链接]
2483|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Levin0|  楼主 | 2020-4-1 17:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作GD32F150芯片的硬件I2C2,已经设置系统时钟了,但操作寄存器时无法写入数据。

void I2C_Configuration(void)
{
    /* Enable BOARD_I2C APB1 clock */
    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_I2C2,ENABLE);
    I2C_InitPara I2C_InitStructure;
    I2C_InitStructure.I2C_Protocol = I2C_PROTOCOL_I2C;
    I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE_2;
    I2C_InitStructure.I2C_BitRate = 100000;
    I2C_InitStructure.I2C_AddressingMode = I2C_ADDRESSING_MODE_7BIT;
    I2C_InitStructure.I2C_DeviceAddress = I2C_OWN_ADDRESS7;   
    I2C_Init(BOARD_I2C, &I2C_InitStructure);  
    I2C_Enable(BOARD_I2C,ENABLE);   
}

使用特权

评论回复
沙发
Levin0|  楼主 | 2020-4-1 21:42 | 只看该作者
有哪位遇到过这样的情况吗?或者你们有使用I2C2操作正常的吗?

使用特权

评论回复
板凳
ykwym| | 2020-4-2 08:15 | 只看该作者
Levin0 发表于 2020-4-1 21:42
有哪位遇到过这样的情况吗?或者你们有使用I2C2操作正常的吗?

你要给出更多的代码,gpio初始化的也要给出。

使用特权

评论回复
地板
Levin0|  楼主 | 2020-4-2 08:42 | 只看该作者
ykwym 发表于 2020-4-2 08:15
你要给出更多的代码,gpio初始化的也要给出。

和GPIO有关系吗?我把I2C2修改成I2C1就可以写入数值。
我的GPIO是直接设置寄存器的,有点难看董。

使用特权

评论回复
5
sonicll| | 2020-4-2 09:20 | 只看该作者
你的150具体型号后缀是什么,有些型号的150只有一个I2C

使用特权

评论回复
6
Levin0|  楼主 | 2020-4-6 10:25 | 只看该作者
sonicll 发表于 2020-4-2 09:20
你的150具体型号后缀是什么,有些型号的150只有一个I2C

谢谢!找到问题了,用的C6,只有一个IIC

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

8

帖子

0

粉丝