找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[NUC] MINI54ZDE使用内部时钟的问题

[复制链接]
跳转到指定楼层
楼主
匿名  发表于 2018-12-4 16:38:23 回帖奖励 |正序浏览 |阅读模式
最近接了一个项目,用的是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);
    ......
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具

沙发
匿名  发表于 2018-12-5 10:48:50
串口没有波形,是TX没有波形吗?那样pinview看看TX多功能管脚是否真的切换到UART TX功能了
回复 支持 反对

使用道具

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU