【已解决】tuyaos-bk7231n-3.3.4版本如何关闭和开启所有中断
你好:
Code: Select all
tuyaos-bk7231n-3.3.4版本如何关闭和开启所有中断,有没有DEMO,或者什么语句能实现的?麻烦帮忙看一下。
你好:
Code: Select all
tuyaos-bk7231n-3.3.4版本如何关闭和开启所有中断,有没有DEMO,或者什么语句能实现的?麻烦帮忙看一下。
你好,7231n可参考如下实现。
UINT_T tkl_system_enter_critical(VOID_T)
{
vPortEnterCritical();
return 0;
}
VOID_T tkl_system_exit_critical(UINT_T irq_mask)
{
vPortExitCritical();
}
hearge 2023年 Apr 3日 18:11你好,7231n可参考如下实现。
UINT_T tkl_system_enter_critical(VOID_T)
{
vPortEnterCritical();
return 0;
}VOID_T tkl_system_exit_critical(UINT_T irq_mask)
{
vPortExitCritical();
}
tkl_system_enter_critical(VOID_T) 是进入中断吗?
你好:
Code: Select all
刚刚试了下,文件包含了头文件#include "tkl_system.h"
写了几个简单语句,然后在后面写语句tkl_system_enter_critical(); 再编译发现编译错误。(没放这个语句之前是编译正确,而且能正常运行。)这个应该怎么处理?
tuyaos-bk7231n-3.3.4版本,用的DEMO是“tuyaos_demo_quickstart”麻烦试试看。
放的语句和编译错误如下图
后来我又去搜寻tkl_system_enter_critical这个函数,发现只在头文件有,但没有搜到实际的函数。
15988991229 2023年 Apr 4日 08:32你好:
Code: Select all
刚刚试了下,文件包含了头文件#include "tkl_system.h" 写了几个简单语句,然后在后面写语句tkl_system_enter_critical(); 再编译发现编译错误。(没放这个语句之前是编译正确,而且能正常运行。)这个应该怎么处理?
tuyaos-bk7231n-3.3.4版本,用的DEMO是“tuyaos_demo_quickstart”麻烦试试看。
放的语句和编译错误如下图
2.png
开关中断时间不宜过长,会影响wifi数据的处理,另外关中断期间不能调用系统延时,此时系统无法调度,会导致任务一直挂起
把下面代码放到tkl_system.c文件。
tkl_system_enter_critical是关闭所有中断,但必须记得tkl_system_exit_critical恢复。长时间调用关中断会影响任务调度及底层数据处理,请慎用。
UINT_T tkl_system_enter_critical(VOID_T)
{
vPortEnterCritical();
return 0;
}
VOID_T tkl_system_exit_critical(UINT_T irq_mask)
{
vPortExitCritical();
}
已经解决,谢谢贵公司工程师的技术支持!