关于分时任务调度,关闭后打开设置的时间不起作用了
当wujiflag==1 时,,
我把Key_Scan和time关了.
这里time是10个周期
但是我重新开启时, time的周期变成了1了
不懂怎么恢复初始值,或者设置我需要的值.
这样子写,理论上可行的. 但是运行出来,time还是一个周期.
不懂咋回事了
vb2002 发表于 2025-2-16 22:10
这样子写,理论上可行的. 但是运行出来,time还是一个周期.
不懂咋回事了
程序中存在这么几个问题:
1.Run并不是用来控制任务是否启动或者停止的,这仅仅是用于调起任务运行的一个暂时标志位,手动操作会导致混乱。
2.想要在运行中改变任务的运行频率,可以在其他地方设置TRITime,这样下次重载的时候会自己重载上值的。
3.如果想要手动控制任务是否运行,可以通过在Task_Pro_Handler_Callback函数中 ,对运行程序部分进行手动限制。以下是根据你所想要程序的改动示例:
//========================================================================
// 函数: Task_Pro_Handler_Callback
// 描述: 任务处理回调函数.
// 参数: None.
// 返回: None.
// 版本: V1.0, 2025-02-16
//========================================================================
void Task_Pro_Handler_Callback(void)
{
u8 i;
for (i = 0; i < Tasks_Max; i++)
{
if (Task_Comps.Run) /* If task can be run */
{
Task_Comps.Run = 0; /* Flag clear 0 */
if (wujiflag) // 先判断标志位
{
if (i == 1)
Task_Comps.TaskHook(); /* Run task */ // 只有任务1被运行执行
}
else
{
if (i == 1 || i == 2) // 任务1和任务2被允许执行
{
Task_Comps.TRITime = 10; // 重载值设置为10ms
Task_Comps.TaskHook(); /* Run task */
}
}
}
}
}
王昱顺 发表于 2025-2-16 23:00
程序中存在这么几个问题:
1.Run并不是用来控制任务是否启动或者停止的,这仅仅是用于调起任务运行的一个 ...
要说牛逼还得是王哥哥{:4_265:}
感谢王哥哥,我这就去试试代码!
在这之前我只能去 设置run的标志位.. 只能停,不能改频率.现在可以随意更改了.
1.Run并不是用来控制任务是否启动或者停止的,这仅仅是用于调起任务运行的一个暂时标志位,手动操作会导致混乱。
2.想要在运行中改变任务的运行频率,可以在其他地方设置TRITime,这样下次重载的时候会自己重载上值的。
3.如果想要手动控制任务是否运行,可以通过在Task_Pro_Handler_Callback函数中 ,对运行程序部分进行手动限制。以下是根据你所想要程序的改动示例: 王昱顺 发表于 2025-2-16 23:00
程序中存在这么几个问题:
1.Run并不是用来控制任务是否启动或者停止的,这仅仅是用于调起任务运行的一个 ...
运行完美,再次感谢王哥哥
void Task_Pro_Handler_Callback(void)
{
idata u8 i;
for(i=0; i<Tasks_Max; i++)
{
if(Task_Comps.Run) /* If task can be run */
{
Task_Comps.Run = 0; /* Flag clear 0 */
if (wujiflag) // 先判断标志位
{
if (i == 1 || i==2)
Task_Comps.TaskHook(); /* Run task */ // 只有任务1,2被运行执行
}
else
{
if ( i == 0 || i == 2) // 任务1和任务2被允许执行
{
// Task_Comps.TRITime = 10; // 重载值设置为10ms
Task_Comps.TIMCount = Task_Comps.TRITime; //恢复默认值
Task_Comps.TaskHook(); /* Run task */
}
}
}
}
} 哥不是传说,哥就在 www.STCAIMCU.com
昨晚专门请哥出来看了您的图片,以后贴 文字程序,不要贴 图片程序
如何 请 哥:
【新提醒】部分较难的贴可通知我:时钟树,PWM,DMA,CAN,电机控制 | 不要在本贴咨询 - FOC,有ICache的 32F12K54 测试版块 国芯技术交流网站 - AI32位8051交流社区
神农鼎 发表于 2025-2-17 08:13
哥不是传说,哥就在 www.STCAIMCU.com
昨晚专门请哥出来看了您的图片,以后贴 文字程序,不要贴 图片程序
姚总早,原来是姚总在帮忙通知.
感谢我大姚总
以后我会记住的
"以后贴 文字程序,不要贴 图片程序" 神农鼎 发表于 2025-2-17 08:13
哥不是传说,哥就在 www.STCAIMCU.com
昨晚专门请哥出来看了您的图片,以后贴 文字程序,不要贴 图片程序
姚总您好,还有一个事情,想向您请教一下.您看是否可行,如果可行,是否能得到AI技术上的支持
其实我在春节期间构思了一个项目,可否实现,现在我还在探索
目前在我开发的这个领域,有个程序是绑定tinny85一系列单片机的.而且这玩意卖的挺贵,一颗sop8 芯片卖到10元左右
很多diy玩家都会用到这个芯片,包括圈子内有名的一些厂家也是用到这个芯片
绑定tinny85这个程序方面是开源的,程序在业界也是目前无敌的存在
我就像把那个程序完全移植到咱AI的芯片上面来. 以后也绑定一起,
单反想用到这个程序,就必须使用咱AI的芯片.
目前我也在往这个方面靠近, 代码我已经在写了,功能上有待完善
任务结构体的第3个参数周期就是调整周期的数值 改变他就可以改变任务周期 改变第1个参数为1就可以让任务提前就绪 你自己研究下
lzzasd 发表于 2025-2-21 22:03
任务结构体的第3个参数周期就是调整周期的数值 改变他就可以改变任务周期 改变第1个参数为1就可以 ...
感谢回复, 已经有点点懂了
页:
[1]