HC32L136iic配置
时间: 2024-01-11 18:03:53 浏览: 32
根据提供的引用内容,可以了解到HC32L136需要配置I2C功能模块才能与AT24c64进行通讯。下面是HC32L136 I2C功能模块的配置步骤:
1.使能I2C时钟
在使用I2C功能模块之前,需要先使能I2C时钟。可以通过以下代码实现:
```c
// 使能I2C时钟
M0P_CLOCK->PERI_CLKEN0_f.I2c0En = 1;
```
2.配置I2C引脚
在使用I2C功能模块之前,需要配置I2C引脚。可以通过以下代码实现:
```c
// 配置I2C引脚
stc_gpio_config_t stcGpioCfg;
stcGpioCfg.enDir = GpioDirOut;
stcGpioCfg.enDrv = GpioDrvH;
stcGpioCfg.enPuPd = GpioPu;
stcGpioCfg.enOD = GpioOdDisable;
stcGpioCfg.enCtrlMode = GpioAHB;
Gpio_Init(GpioPortB, GpioPin12, &stcGpioCfg); // SCL
Gpio_Init(GpioPortB, GpioPin13, &stcGpioCfg); // SDA
```
3.配置I2C模块
在使用I2C功能模块之前,需要配置I2C模块。可以通过以下代码实现:
```c
// 配置I2C模块
stc_i2c_init_t stcI2cInit;
stcI2cInit.enI2cMode = I2cMaster;
stcI2cInit.u32Baudrate = 100000;
stcI2cInit.u8SlaveAddr = 0xA0;
stcI2cInit.bWaitSelection = FALSE;
stcI2cInit.bDmaEnable = FALSE;
stcI2cInit.bIrqEnable = FALSE;
I2c_Init(M0P_I2C0, &stcI2cInit);
```
4.使用I2C模块进行通讯
在完成I2C模块的配置之后,就可以使用I2C模块进行通讯了。可以通过以下代码实现:
```c
// 使用I2C模块进行通讯
unsigned char buffer[32] = {0};
uint16_t addr = 0x00;
unsigned char len = 32;
x24c64_writeOnePage(buffer, addr, len);
```