Sanity check for non-exist reg operations.
continuous-integration/drone/push Build is passing Details

Signed-off-by: Yilin Sun <imi415@imi.moe>
This commit is contained in:
Yilin Sun 2023-06-03 16:42:46 +08:00
parent 6d1eca00f2
commit 41f64ce2f7
Signed by: imi415
GPG Key ID: 17F01E106F9F5E0A
2 changed files with 10 additions and 3 deletions

View File

@ -30,7 +30,7 @@ int app_i2c_if_init(void) {
RESET_PeripheralReset(kI2C0_RST_N_SHIFT_RSTn);
APP_I2C_INSTANCE->CLKDIV = 7U;
APP_I2C_INSTANCE->CLKDIV = 2U;
APP_I2C_INSTANCE->SLVADR[0] = I2C_SLVADR_SLVADR(APP_I2C_ADDR); // Use slave address 0
APP_I2C_INSTANCE->SLVQUAL0 = 0UL; // Use the address as-is

View File

@ -9,6 +9,7 @@
#define MODULE_ID_SYS_UTILS 0
#define MODULE_ID_GPIO 1
#define MODULE_ID_ADC 2
#define MODULE_ID_END 3
typedef uint16_t (*module_reg_read_t)(uint8_t offset);
typedef void (*module_reg_write_t)(uint8_t offset, uint16_t data);
@ -39,11 +40,17 @@ static const module_reg_t s_module_regs[] = {
uint16_t app_reg_if_read(uint8_t reg) {
uint8_t module_id = (reg >> 4U) & 0x0FU;
return s_module_regs[module_id].read(reg & 0x0FU);
if (module_id < MODULE_ID_END) {
return s_module_regs[module_id].read(reg & 0x0FU);
}
return 0x5555;
}
void app_reg_if_write(uint8_t reg, uint16_t data) {
uint8_t module_id = (reg >> 4U) & 0x0FU;
s_module_regs[module_id].write((reg & 0x0FU), data);
if (module_id < MODULE_ID_END) {
s_module_regs[module_id].write((reg & 0x0FU), data);
}
}