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

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

[复制链接]
已绑定手机

161

主题

1982

回帖

2170

积分

金牌会员

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

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

截图202502161513418654.jpg

截图202502161515076562.jpg

截图202502161512349657.jpg
回复

使用道具 举报 送花

已绑定手机

161

主题

1982

回帖

2170

积分

金牌会员

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

截图202502162209363915.jpg

点评

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

使用道具 举报 送花

已绑定手机
已实名认证

146

主题

4038

回帖

1万

积分

超级版主

积分
10646
发表于 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. }
复制代码



回复

使用道具 举报 送花

已绑定手机

161

主题

1982

回帖

2170

积分

金牌会员

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

要说牛逼还得是王哥哥

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

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


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

使用道具 举报 送花

已绑定手机

161

主题

1982

回帖

2170

积分

金牌会员

积分
2170
 楼主| 发表于 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. }
复制代码
回复

使用道具 举报 送花

865

主题

1万

回帖

2万

积分

管理员

积分
25086
发表于 2025-2-17 08:13:20 | 显示全部楼层
回复

使用道具 举报 送花

已绑定手机

161

主题

1982

回帖

2170

积分

金牌会员

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

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

"以后贴 文字程序,不要贴 图片程序"
回复

使用道具 举报 送花

已绑定手机

161

主题

1982

回帖

2170

积分

金牌会员

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

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

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


回复

使用道具 举报 送花

13

主题

146

回帖

1859

积分

金牌会员

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

使用道具 举报 送花

已绑定手机

161

主题

1982

回帖

2170

积分

金牌会员

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

感谢回复, 已经有点点懂了
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-9-19 21:08 , Processed in 0.083806 second(s), 93 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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