GD32F150无法修改I2C寄存器

[复制链接]
2681|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是直接设置寄存器的,有点难看董。
sonicll 发表于 2020-4-2 09:20 | 显示全部楼层
你的150具体型号后缀是什么,有些型号的150只有一个I2C
 楼主| Levin0 发表于 2020-4-6 10:25 | 显示全部楼层
sonicll 发表于 2020-4-2 09:20
你的150具体型号后缀是什么,有些型号的150只有一个I2C

谢谢!找到问题了,用的C6,只有一个IIC
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部