Hei瞎搞
发表于 2025-4-22 13:52:12
cosyos中可以添加CDC虚拟串口使用吗,希望出一个教程
oce4n
发表于 6 天前
定义两个定时器中断任务,为什么只有0号定时器任务可以触发,1号不行啊
CosyOS
发表于 6 天前
oce4n 发表于 2025-4-30 15:18
定义两个定时器中断任务,为什么只有0号定时器任务可以触发,1号不行啊
你用的是 CosyOS-II 的早期版本,当时对“定时中断”的支持存在一个bug:
就是如果不开启 OS-DEBUG,如果用户仅定义一个定时中断,
也就是全局仅有一个定时中断,将不能运行它的任务或钩子。
如果开启了 OS-DEBUG,用户仅定义一个定时中断,是可以正常运行的,
因为此时全局一共有两个定时中断(含一个系统的)。
但你现在遇到的问题是已经定义了两个定时中断,有一个不能正常运行。
首先可以通过点灯的方式验证是否已经进入了任务,如果确定没有进入过任务,
我猜测可能有以下原因:
1、可能还存在其它的用户级的定时中断,只是你不知道。
如果你直接使用“工程模板/测试例程”是可能会存在这样的问题。
// <o> 用户定时中断总数
// <i> 取值范围:<0-64>
// <i> 用户创建的定时中断任务/钩子总数。
// <i> 此项参数应等于实际的数量,既不能大于也不能小于。
// <i> 如果定义数量大于实际数量,会引起编译器警告,否则不会有任何提示。
#define SYSCFG_USERTIMINTTOTAL 0
所以,首先尝试把用户定时中断总数改成3,编译看有没有警告?
如果没有警告:
证明还存在其它的用户级的定时中断;
如果告警了:
证明用户级的定时中断确实只有两个。
1、定时中断定时器位数,设置大一点,以防溢出,如 32,再试一试;
2、用户任务总数,设置大一点,以防溢出,再试一试;// 也许还存在其它你不知道的任务
3、还不行就替换为 CosyOS-II 的最终版本 V3.4.0,这个版本对定时中断/查询的支持没有bug,再试一试;
4、开启任务管理器,监控任务的运行情况,有助于辅助查找原因;
5、最终还是不行,把程序发过来,我帮你找原因。
CosyOS
发表于 6 天前
Hei瞎搞 发表于 2025-4-22 13:52
cosyos中可以添加CDC虚拟串口使用吗,希望出一个教程
等我这两天研究一下,有结论了会公布
神农鼎
发表于 5 天前
CosyOS 发表于 2025-4-30 21:52
等我这两天研究一下,有结论了会公布建议使用最新的USB库
dashuai
发表于 4 天前
{:4_188:}