打印
[STM32F1]

【帖代码】请问有会freeRT的朋友吗?中断有点问题想请教

[复制链接]
705|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yanandren|  楼主 | 2015-12-7 11:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//串口中断
void USART1_IRQHandler(void)
{
  portBASE_TYPE TaskWoken = pdFALSE;
  if (USART_GetITStatus(USART1, USART_IT_RXNE) == SET)
  {
    unsigned char RxChar;
    unsigned char Event  = DEMO_EVENT_UART_RX;
    RxChar = USART_ReceiveData(USART1);
    xQueueSendFromISR(UartRx, &RxChar, &TaskWoken);
    xQueueSendFromISR(Event, &Event, &TaskWoken);     
        }
  portEND_SWITCHING_ISR(TaskWoken);
}

这里发送了两个东西给一个两个队列,一个代表事件,一个是具体的char,这个在这里无关紧要。。

中断优先级的配置如下:
  NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = configLIBRARY_KERNEL_INTERRUPT_PRIORITY;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init( &NVIC_InitStructure );


那么我的问题来了,请问一下,
在串口中断里,如果我发送了一个字符串
1234567890,
那么请问是一次性接收完再回到task,还是说task和中断之间也会进行分时操作,

我实在是没办法了,
如果是有个思路可以验证的话。。也请指点一下,不是存心做伸手党的。。。
沙发
zhangbolily| | 2015-12-7 11:07 | 只看该作者
虽然没听懂,但是我还是顶一下

使用特权

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

本版积分规则

15

主题

17

帖子

0

粉丝