搜索

[技术问答] HC32L130J8TA 串口1接收中断进不去

[复制链接]
1359|5
手机看帖
扫描二维码
随时随地手机跟帖
cw876798173|  楼主 | 2021-7-21 15:25 | 显示全部楼层 |阅读模式
本帖最后由 cw876798173 于 2021-7-21 15:58 编辑

void uart_bc20_gpio_init(void)
{
    stc_gpio_cfg_t stcGpioCfg;
    DDL_ZERO_STRUCT(stcGpioCfg);
    Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio,TRUE); //使能GPIO模块时钟
    ///<TX
    stcGpioCfg.enDir = GpioDirOut;
    Gpio_Init(GpioPortA, GpioPin2, &stcGpioCfg);
    Gpio_SetAfMode(GpioPortA, GpioPin2, GpioAf1);//配置PA02 端口为URART1_TX
    ///<RX
    stcGpioCfg.enDir = GpioDirIn;
    Gpio_Init(GpioPortA, GpioPin3, &stcGpioCfg);
    Gpio_SetAfMode(GpioPortA, GpioPin3, GpioAf1);//配置PA03 端口为URART1_RX        
}



//串口配置
void uart_bc20_init(void)
{           
    stc_uart_cfg_t   stcCfg;
    DDL_ZERO_STRUCT(stcCfg);
    ///< 开启外设时钟
    Sysctrl_SetPeripheralGate(SysctrlPeripheralUart1,TRUE);///<使能uart1模块时钟
    ///<UART Init
         
    stcCfg.stcBaud.u32Baud  = 9600;                         ///<波特率9600
    stcCfg.enRunMode        = UartMskMode3;          ///<模式3
    stcCfg.enStopBit        = UartMsk1bit;           ///<1bit停止位
    stcCfg.enMmdorCk        = UartMskEven;           ///<偶检验
    stcCfg.stcBaud.enClkDiv = UartMsk8Or16Div;       ///<通道采样分频配置
    stcCfg.stcBaud.u32Pclk  = Sysctrl_GetPClkFreq(); ///<获得外设时钟(PCLK)频率值
    Uart_Init(M0P_UART1, &stcCfg);                   ///<串口初始化

    ///<UART中断使能
    Uart_ClrStatus(M0P_UART1,UartRC);                ///<清接收请求
    Uart_ClrStatus(M0P_UART1,UartTC);                ///<清接收请求
    Uart_EnableIrq(M0P_UART1,UartRxIrq);             ///<使能串口接收中断
    ///Uart_EnableIrq(M0P_UART1,UartTxIrq);             ///<使能串口接收中断
    EnableNvic(UART1_IRQn, IrqLevel3, TRUE);                ///<系统中断使能
               
//                App_Timer3Cfg(2500);//10ms
//               
//                USART3_RX_STA = 0;  //清零
//               
//                Tim3_M0_Stop();
}

void Uart1_IRQHandler(void)
{
          uint8_t res;
        
         if(Uart_GetStatus(M0P_UART1, UartRC))         //UART1数据接收
        {
                Uart_ClrStatus(M0P_UART1,UartRC);
                        
                printf("urat_recive interruput.\r\n");
        }        
}


问题:进不去接收中断,有人遇到过吗??

使用特权

评论回复
18621057708| | 2021-7-21 17:17 | 显示全部楼层
printf函数的问题吧,用个别的(比如发送一个字节)应该就有现象了,也可以通过debug设置断点看一下

使用特权

评论回复
sgrtf661| | 2021-7-22 10:05 | 显示全部楼层
代理可技术支持  qq:409946461

使用特权

评论回复
H东方潇明| | 2021-7-22 11:02 | 显示全部楼层
调试过,双向连传无问题,加Q交流:3563213390

使用特权

评论回复
shymaster| | 2021-7-22 16:14 | 显示全部楼层
模式3是9位数据,数据发对没

使用特权

评论回复
asmine| | 2021-7-23 13:55 | 显示全部楼层
没用过9位数据,都用的8位

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 kk的回忆 得到打赏 ¥561.01
  • 2 火星国务卿 得到打赏 ¥518.00
  • 3 呐咯密密 得到打赏 ¥295.00
  • 4 小叶三千 得到打赏 ¥210.00
  • 5 jinglixixi 得到打赏 ¥190.00
  • 6 Gavin3389 得到打赏 ¥180.00
  • 7 神圣雅诗人 得到打赏 ¥170.00
  • 8 xyz549040622 得到打赏 ¥150.00
  • 9 linghz 得到打赏 ¥120.00
  • 10 137017878 得到打赏 ¥115.00
在线客服 快速回复 返回顶部 返回列表