牛卧堂MCU技术交流

标题: MINI54ZDE使用内部时钟的问题 [打印本页]

作者: 匿名    时间: 2018-12-4 16:38
标题: MINI54ZDE使用内部时钟的问题
最近接了一个项目,用的是MINI54ZDE,手上并没有实际板子。
使用内部RC作为时钟源,用串口打印I2C收到的数据,并控制相应IO状态.
但是现在发现IO可以正常控制,但是串口和i2c都没有工作。串口没有输出波形,i2C上有数据,但是mcu接收不到,下面是配置代码,请老铁们给看看

系统及外设时钟配置:
void SYS_Init(void)
{
    /* Unlock protected registers */
    SYS_UnlockReg();

    CLK_EnableXtalRC(CLK_PWRCON_HIRC_EN_Msk);

    CLK_WaitClockReady(CLK_CLKSTATUS_IRC22M_STB_Msk);

    CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC,CLK_CLKDIV_HCLK(2));

    CLK_SetSysTickClockSrc(CLK_CLKSEL0_STCLK_S_HIRC_DIV2);

    CLK_EnableModuleClock(UART_MODULE);
    CLK_EnableModuleClock(I2C_MODULE);

    CLK_SetModuleClock(UART_MODULE,CLK_CLKSEL1_UART_S_HIRC,CLK_CLKDIV_UART(1));

    SYS->P0_MFP &= ~(SYS_MFP_P01_Msk | SYS_MFP_P00_Msk);
    SYS->P0_MFP |= (SYS_MFP_P01_RXD | SYS_MFP_P00_TXD);

    SYS->P3_MFP = SYS_MFP_P34_SDA | SYS_MFP_P35_SCL;

    SYS_LockReg();

    SystemCoreClockUpdate();
}


上电相关配置:
int32_t main (void)
{
    uint32_t i;
    unsigned char debugdata[5];

    /* Init System, IP clock and multi-function I/O */
    SYS_Init();
    GPIO_Init();
               
    /* Init UART to 115200-8n1 for print message */
    UART_Open(UART0, 115200);
        
    /* Init I2C */
    I2C_Init();
    /* I2C enter no address SLV mode */
    I2C_SET_CONTROL_REG(I2C, I2C_SI | I2C_AA);
    ......

作者: 匿名    时间: 2018-12-5 10:48
串口没有波形,是TX没有波形吗?那样pinview看看TX多功能管脚是否真的切换到UART TX功能了




欢迎光临 牛卧堂MCU技术交流 (http://www.nuvoton-mcu.com/) Powered by Discuz! X3.2