打印
[技术问答]

HK030M是否可以有USART中断?

[复制链接]
712|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bestdesign11|  楼主 | 2021-3-17 16:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在做串口的传输测试,想做一个电脑的串口工具输出什么字符,能让MCU转发出来到串口工具显示.可电脑发出去的字符,MCU接收不到,不知道是否串口中断没有生效:

如下:
hk32f030m_it.c文件中定义中断函数:
void USART1_IRQHandler(void)
{
  uint8_t ucTemp;
        if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET)
        {               
                ucTemp = USART_ReceiveData(DEBUG_USARTx);
     Usart_SendByte(DEBUG_USARTx,ucTemp);   
        }         
}

--------------------------------------------------------------------------------------------------
在bsp_usart.c定义中断源等,并设置USART端口:
static void NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;

//  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    NVIC_InitStructure.NVIC_IRQChannel = DEBUG_USART_IRQ;
    NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
//  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
   NVIC_Init(&NVIC_InitStructure);
}

----------------------------------------------
void USART_Config(void)
{

中间省略:......................

        USART_Init(DEBUG_USARTx, &USART_InitStructure);

        USART_ITConfig(DEBUG_USARTx, USART_IT_RXNE, ENABLE);       

        USART_Cmd(DEBUG_USARTx, ENABLE);            

        NVIC_Configuration();

}

大家帮忙看看对吗?

使用特权

评论回复

相关帖子

沙发
HSXP063| | 2021-3-17 20:16 | 只看该作者
有我们的DEMO 吗, 可以直接用我们的例程测试

使用特权

评论回复
板凳
bestdesign11|  楼主 | 2021-3-19 09:03 | 只看该作者
本帖最后由 bestdesign11 于 2021-3-19 12:56 编辑

看到例程中的中断语句了:static void USART_NVIC_Configurature(void)
{
        NVIC_SetPriority(USART1_IRQn,0);
        NVIC_EnableIRQ(USART1_IRQn);
}

void USART1_IRQHandler(void)
{
        uint8_t ch_rx_test;
        if((USART1->ISR & USART_ISR_RXNE) != 0)
        {
                ch_rx_test = USART1->RDR;
                USART_SendByte(ch_rx_test);
        }
}


请问这个USART1_IRQHandler函数不用放到hk32f030m_it.c这个文件中去,对吗?
放在 usart.c中也能响应到?

使用特权

评论回复
地板
ap0405209| | 2021-3-20 21:39 | 只看该作者
bestdesign11 发表于 2021-3-19 09:03
看到例程中的中断语句了:static void USART_NVIC_Configurature(void)
{
        NVIC_SetPriority(USART1_IRQn,0) ...

可以的,放在哪个.c文件都可以

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

256

帖子

1

粉丝