TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430FR6043: 无法写入EEPROM里数据

Part Number:MSP430FR6043

硬件i2c中断写入EEPROM里数据,在不初始化MCLK时钟能正常写入数据,

 在初始化完MCLK时钟后无法写入数据 请问是什么问题

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

,

Cherry Zhou:

您好,请您先查看I2C 配置以了解时钟基准和 I2C 速度配置。

以及您是怎样初始化MCLK的?两者的区别是什么?

,

yanan xu:

static void hal_system_ClockInit(void){ FRAMCtl_A_configureWaitStateControl(FRAMCTL_A_ACCESS_TIME_CYCLES_1); // Set DCO frequency to default 16MHz CS_setDCOFreq(CS_DCORSEL_1, CS_DCOFSEL_4); //Set external clock frequency to 32.768 KHz CS_setExternalClockSource(32768,0); //MCLK 16MHz CS_initClockSignal(CS_MCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_2); //SMCLK 8MHz CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_2); //ACLK 32.768K CS_initClockSignal(CS_ACLK, CS_LFXTCLK_SELECT, CS_CLOCK_DIVIDER_1); // Intializes the XT1 crystal oscillator CS_turnOnLFXT(CS_LFXT_DRIVE_3);

}

void hal_I2cInit(void){

//配置B0时钟源SMLK ,速率, EUSCI_B_I2C_initMasterParam param = {0}; param.selectClockSource = EUSCI_B_I2C_CLOCKSOURCE_SMCLK; param.i2cClk = CS_getSMCLK(); param.dataRate = EUSCI_B_I2C_SET_DATA_RATE_400KBPS; //param.byteCounterThreshold = 10; param.byteCounterThreshold = 0; param.autoSTOPGeneration = EUSCI_B_I2C_NO_AUTO_STOP; //param.autoSTOPGeneration = EUSCI_B_I2C_SEND_STOP_AUTOMATICALLY_ON_BYTECOUNT_THRESHOLD; //设置主模式 EUSCI_B_I2C_initMaster(EeProm_BASE, &param); //设置从地址 EUSCI_B_I2C_setSlaveAddress(EeProm_BASE,EEPROM_ADDRESS); EUSCI_B_I2C_setMode(EeProm_BASE, EUSCI_B_I2C_TRANSMIT_MODE); //写入模式

//使能B0 EUSCI_B_I2C_enable(EeProm_BASE);

//清除发送中断,应答中断 EUSCI_B_I2C_clearInterrupt(EeProm_BASE, EUSCI_B_I2C_TRANSMIT_INTERRUPT0 + EUSCI_B_I2C_NAK_INTERRUPT );

EUSCI_B_I2C_enableInterrupt(EeProm_BASE, EUSCI_B_I2C_TRANSMIT_INTERRUPT0 + EUSCI_B_I2C_NAK_INTERRUPT );

}

这是我设置的时钟初始化和I2C初始化,请帮我看一下有什么问题,谢谢

,

Cherry Zhou:

好的收到您的反馈,已经跟进给工程师,有新的消息会尽快跟进给您。

,

Cherry Zhou:

yanan xu 说:param.dataRate = EUSCI_B_I2C_SET_DATA_RATE_400KBPS;

您好,请确保这个速率与新的 SMCLK 相匹配。

,

yanan xu:

速率是正确的,用示波器测过波形

,

Cherry Zhou:

您好,您看下总线上有NACK吗?EEPROM承认或者能否识别到master?与 EEPROM 通信时,波形有没有和其他波形不同的地方?

赞(0)
未经允许不得转载:TI中文支持网 » MSP430FR6043: 无法写入EEPROM里数据
分享到: 更多 (0)