找回密码
 立即注册
查看: 291|回复: 9

关于分时任务调度,关闭后打开设置的时间不起作用了

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:351
  • 最近打卡:2025-05-02 00:50:51
已绑定手机

130

主题

1520

回帖

1859

积分

金牌会员

积分
1859
发表于 2025-2-16 15:22:01 | 显示全部楼层 |阅读模式

当wujiflag==1 时,,
我把Key_Scan和time关了.
这里time是10个周期
但是我重新开启时, time的周期变成了1了
不懂怎么恢复初始值,或者设置我需要的值.

截图202502161513418654.jpg

截图202502161515076562.jpg

截图202502161512349657.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:351
  • 最近打卡:2025-05-02 00:50:51
已绑定手机

130

主题

1520

回帖

1859

积分

金牌会员

积分
1859
发表于 2025-2-16 22:10:05 | 显示全部楼层
这样子写,理论上可行的. 但是运行出来,time还是一个周期.
不懂咋回事了

截图202502162209363915.jpg

点评

程序中存在这么几个问题: 1.Run并不是用来控制任务是否启动或者停止的,这仅仅是用于调起任务运行的一个暂时标志位,手动操作会导致混乱。 2.想要在运行中改变任务的运行频率,可以在其他地方设置TRITime,这样下次  详情 回复 发表于 2025-2-16 23:00
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2025-2-16 23:00:02 | 显示全部楼层
vb2*** 发表于 2025-2-16 22:10
这样子写,理论上可行的. 但是运行出来,time还是一个周期.
不懂咋回事了

程序中存在这么几个问题:
1.Run并不是用来控制任务是否启动或者停止的,这仅仅是用于调起任务运行的一个暂时标志位,手动操作会导致混乱。
2.想要在运行中改变任务的运行频率,可以在其他地方设置TRITime,这样下次重载的时候会自己重载上值的。
3.如果想要手动控制任务是否运行,可以通过在Task_Pro_Handler_Callback函数中 ,对运行程序部分进行手动限制。以下是根据你所想要程序的改动示例:
  1. //========================================================================
  2. // 函数: Task_Pro_Handler_Callback
  3. // 描述: 任务处理回调函数.
  4. // 参数: None.
  5. // 返回: None.
  6. // 版本: V1.0, 2025-02-16
  7. //========================================================================
  8. void Task_Pro_Handler_Callback(void)
  9. {
  10.     u8 i;
  11.     for (i = 0; i < Tasks_Max; i++)
  12.     {
  13.         if (Task_Comps[i].Run) /* If task can be run */
  14.         {
  15.             Task_Comps[i].Run = 0; /* Flag clear 0 */
  16.             if (wujiflag)          // 先判断标志位
  17.             {
  18.                 if (i == 1)
  19.                     Task_Comps[i].TaskHook(); /* Run task */ // 只有任务1被运行执行
  20.             }
  21.             else
  22.             {
  23.                 if (i == 1 || i == 2) // 任务1和任务2被允许执行
  24.                 {
  25.                     Task_Comps[2].TRITime = 10; // 重载值设置为10ms
  26.                     Task_Comps[i].TaskHook();   /* Run task */
  27.                 }
  28.             }
  29.         }
  30.     }
  31. }
复制代码



回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:351
  • 最近打卡:2025-05-02 00:50:51
已绑定手机

130

主题

1520

回帖

1859

积分

金牌会员

积分
1859
发表于 2025-2-16 23:21:03 | 显示全部楼层
王*** 发表于 2025-2-16 23:00
程序中存在这么几个问题:
1.Run并不是用来控制任务是否启动或者停止的,这仅仅是用于调起任务运行的一个 ...

要说牛逼还得是王哥哥

感谢王哥哥,我这就去试试代码!

在这之前我只能去 设置run的标志位.. 只能停,不能改频率.现在可以随意更改了.


1.Run并不是用来控制任务是否启动或者停止的,这仅仅是用于调起任务运行的一个暂时标志位,手动操作会导致混乱。
2.想要在运行中改变任务的运行频率,可以在其他地方设置TRITime,这样下次重载的时候会自己重载上值的。
3.如果想要手动控制任务是否运行,可以通过在Task_Pro_Handler_Callback函数中 ,对运行程序部分进行手动限制。以下是根据你所想要程序的改动示例:
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:351
  • 最近打卡:2025-05-02 00:50:51
已绑定手机

130

主题

1520

回帖

1859

积分

金牌会员

积分
1859
发表于 2025-2-16 23:37:54 | 显示全部楼层
王*** 发表于 2025-2-16 23:00
程序中存在这么几个问题:
1.Run并不是用来控制任务是否启动或者停止的,这仅仅是用于调起任务运行的一个 ...

运行完美,再次感谢王哥哥
  1. void Task_Pro_Handler_Callback(void)
  2. {
  3.     idata u8 i;
  4.     for(i=0; i<Tasks_Max; i++)
  5.     {
  6.         if(Task_Comps[i].Run) /* If task can be run */
  7.         {
  8.             Task_Comps[i].Run = 0;      /* Flag clear 0 */
  9.                   
  10.                   
  11.                 if (wujiflag)          // 先判断标志位
  12.             {
  13.                 if (i == 1 || i==2)
  14.                     Task_Comps[i].TaskHook(); /* Run task */ // 只有任务1,2被运行执行
  15.             }
  16.             else
  17.             {
  18.                 if ( i == 0 || i == 2) // 任务1和任务2被允许执行
  19.                 {
  20. //                    Task_Comps[2].TRITime = 10; // 重载值设置为10ms
  21.                             Task_Comps[i].TIMCount = Task_Comps[i].TRITime;          //恢复默认值
  22.                             
  23.             Task_Comps[i].TaskHook();   /* Run task */
  24.         }
  25.     }
  26. }
  27. }         
  28. }
复制代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2025-2-17 08:13:20 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:351
  • 最近打卡:2025-05-02 00:50:51
已绑定手机

130

主题

1520

回帖

1859

积分

金牌会员

积分
1859
发表于 2025-2-17 08:49:28 | 显示全部楼层
神*** 发表于 2025-2-17 08:13
哥不是传说,哥就在 www.STCAIMCU.com
昨晚专门请哥出来看了您的图片,以后贴 文字程序,不要贴 图片程序

姚总早,原来是姚总在帮忙通知.
感谢我大姚总
以后我会记住的

"以后贴 文字程序,不要贴 图片程序"
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:351
  • 最近打卡:2025-05-02 00:50:51
已绑定手机

130

主题

1520

回帖

1859

积分

金牌会员

积分
1859
发表于 2025-2-17 09:01:46 | 显示全部楼层
神*** 发表于 2025-2-17 08:13
哥不是传说,哥就在 www.STCAIMCU.com
昨晚专门请哥出来看了您的图片,以后贴 文字程序,不要贴 图片程序

姚总您好,还有一个事情,想向您请教一下.您看是否可行,如果可行,是否能得到AI技术上的支持
其实我在春节期间构思了一个项目,可否实现,现在我还在探索

目前在我开发的这个领域,有个程序是绑定tinny85一系列单片机的.而且这玩意卖的挺贵,一颗sop8 芯片卖到10元左右
很多diy玩家都会用到这个芯片,包括圈子内有名的一些厂家也是用到这个芯片
绑定tinny85这个程序方面是开源的,程序在业界也是目前无敌的存在
我就像把那个程序完全移植到咱AI的芯片上面来. 以后也绑定一起,
单反想用到这个程序,就必须使用咱AI的芯片.
目前我也在往这个方面靠近, 代码我已经在写了,功能上有待完善


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:372
  • 最近打卡:2025-05-01 10:53:48

12

主题

125

回帖

1685

积分

金牌会员

积分
1685
发表于 2025-2-21 22:03:10 | 显示全部楼层
任务结构体的第3个参数周期就是调整周期的数值    改变他就可以改变任务周期       改变第1个参数为1就可以让任务提前就绪     你自己研究下
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:351
  • 最近打卡:2025-05-02 00:50:51
已绑定手机

130

主题

1520

回帖

1859

积分

金牌会员

积分
1859
发表于 2025-2-22 09:59:11 | 显示全部楼层
lzz*** 发表于 2025-2-21 22:03
任务结构体的第3个参数周期就是调整周期的数值    改变他就可以改变任务周期       改变第1个参数为1就可以 ...

感谢回复, 已经有点点懂了
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 04:13 , Processed in 0.193728 second(s), 109 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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