硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3843|回复: 2
收起左侧

[FreeRTOS] 中断嵌套问题

[复制链接]

4

主题

12

回帖

24

积分

新手上路

积分
24
发表于 2017-7-20 14:13:25 | 显示全部楼层 |阅读模式
f103rct6
系统:freertos
在一个高优先级的中断函数(can中断)中运行一个uart里的comSendBuf函数(用的论坛给的底层驱动),就是想在can中断打印下,但是一运行就死到
系统函数系统就停到了,

configASSERT

configASSERT
configASSERT函数里。中断嵌套需要注意哪些?
其中freertosconfig里的中断相关设置
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY            0x0f
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY    0x01
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2017-7-20 14:57:52 | 显示全部楼层
调用这个函数comSendBuf后,会触发FreeRTOS的开关中断操作,在bsp.h文件里面我做了宏定义,这个开关中断函数是任务级的,不能在中断里面调用。

需要在中断里面打印的话,采用这种方式的吧:
#define ETH_CONNECT    "ETH_LINK Connect\\r\\n"

for (i = 0; i < sizeof(ETH_CONNECT); i++)
{
    USART1->DR = pError;
    /* 等待发送结束 */
    while ((USART1->SR & USART_FLAG_TC) == (uint16_t)RESET);
}

回复

使用道具 举报

4

主题

12

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2017-7-25 11:06:14 | 显示全部楼层
谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 03:37 , Processed in 0.195759 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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