查看: 1965|回复: 1

[求助] KEA Z128芯片串口打印调试问题

[复制链接]
  • TA的每日心情

    2019-7-29 09:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    3

    帖子

    0

    新手上路

    Rank: 1

    积分
    19
    最后登录
    2019-7-29
    发表于 2019-7-29 09:22:14 | 显示全部楼层 |阅读模式
    第一次学习硬件。用的KEA Z128 M0+的芯片,现在是想用串口助手,查看程序的打印信息,验证程序的运行情况。用的KEA 128的标准库,但是串口没有输出,执行到printf就进入UART中断,请教社区大神,哈哈哈哈。uart.c和main.c如下。
    void UART_Init(UART_TypeDef * pUART, UART_ConfigType *pConfig)
    {
        uint16_t u16Sbr;
        uint8_t u8Temp;
        uint32_t u32SysClk = pConfig->u32SysClkHz;
        uint32_t u32Baud = pConfig->u32Baudrate;

            /* Enable the clock to the selected UART */   
        if (pUART == UART0_BASE_PTR)
            {
                SIM_BASE_PTR->SCGC |= SIM_SCGC_UART0_MASK;
            }
        if (pUART == UART1_BASE_PTR)
               {
                   SIM_BASE_PTR->SCGC |= SIM_SCGC_UART1_MASK;
               }
        if (pUART == UART2_BASE_PTR)
        {
                      SIM_BASE_PTR->SCGC |= SIM_SCGC_UART2_MASK;
         }

        /* Make sure that the transmitter and receiver are disabled while we
         * change settings.
         */
        pUART->C2 &= ~(UART_C2_TE_MASK | UART_C2_RE_MASK );

        /* Configure the UART for 8-bit mode, no parity */
        pUART->C1 = pConfig->sctrl1settings.byte;

        /* Calculate baud settings */
        u16Sbr = (((u32SysClk)>>4) + (u32Baud>>1))/u32Baud;

        /* Save off the current value of the UARTx_BDH except for the SBR field */
        u8Temp = pUART->BDH & ~(UART_BDH_SBR_MASK);

        pUART->BDH = u8Temp |  UART_BDH_SBR(u16Sbr >> 8);
        pUART->BDL = (uint8_t)(u16Sbr & UART_BDL_SBR_MASK);

        if(1==pConfig->bSbns)
        {
                UART_Set2StopBit(pUART);
        }
        else
        {
                UART_Set1StopBit(pUART);

    void UART1_init()
    {   

        UART_ConfigType UART1_cfg_par;
        UART1_cfg_par.sctrl1settings.byte = 0xe4;
        UART1_cfg_par.sctrl2settings.byte = 0x70;
        UART1_cfg_par.sctrl3settings.byte = 0x1;
        UART1_cfg_par.bSbns = 0;
        UART1_cfg_par.u32SysClkHz = DEFAULT_SYSTEM_CLOCK;
        UART1_cfg_par.u32Baudrate = 9600;
        UART_Init(UART1,&UART1_cfg_par);
    }

    int main(void)
    {
      OSInit();     
      UART1_init();



    我知道答案 目前已有1人回答
    哎,代码总出bug,签到求保佑!
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24901
    最后登录
    2025-7-21
    发表于 2019-7-30 08:27:40 | 显示全部楼层
    你使用是什么库,你有浏览过官方例程吗?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-22 13:14 , Processed in 0.084038 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表