nnhy
|
dbd64c0fac
|
较大的Sys.Delay也需要进行时间任务调度,默认以50us作为边界
|
2015-10-05 12:36:35 +00:00 |
nnhy
|
cf8855d6c9
|
任务系统调度时间单位改为ms,局部测试系统可工作,但是时间变慢
|
2015-10-05 11:40:05 +00:00 |
nnhy
|
e208ce88e2
|
修正_Tasks没有初始化的问题,在Keil项目的RAM配置页勾选noinit后发现问题所在
|
2015-09-23 10:11:46 +00:00 |
nnhy
|
a6c27954d9
|
|
2015-09-19 09:58:00 +00:00 |
nnhy
|
1712f779cc
|
使用数组接管任务队列,避免大量堆分配,测试通过
|
2015-09-19 09:41:18 +00:00 |
nnhy
|
547e0759fd
|
调整写法,消灭任务调度的全局变量,编译通过,未测试
|
2015-08-22 06:26:46 +00:00 |
nnhy
|
90aba92a9b
|
事件型任务运行指定下一次执行时间,便于连续改变任务执行时间
|
2015-08-18 11:03:37 +00:00 |
nnhy
|
430c2de2c6
|
每次上电打开RTC之前,都需要选择好LSI/LSE,否则会死循环等待。
设置报警时间时,不能清零后重新设置ms,还是老办法在原来基础上相加才有效。
Sleep时,判断RTC是否开启了低功耗
|
2015-08-13 05:08:14 +00:00 |
nnhy
|
76d8b7ff17
|
重构系统时钟架构,RTC独立,编译通过,未测试
|
2015-08-12 14:33:05 +00:00 |
nnhy
|
2312baeb7f
|
修正类型转换的警告
|
2015-08-06 09:13:17 +00:00 |
nnhy
|
ac31c30469
|
C++里面,long和int是相同的,64位长整型要用longlong
|
2015-08-06 08:30:35 +00:00 |
nnhy
|
fad7d6c776
|
注意类型转换
|
2015-08-06 07:55:29 +00:00 |
nnhy
|
72c8b88120
|
如果事件型任务还需要执行,那么就不要做任何等待
测试通过
|
2015-08-05 16:31:29 +00:00 |
nnhy
|
d6707ef77b
|
修改Time.Sleep,让它在死循环等待时,可根据外部条件退出。
修改Task调度,让它可中断正在死循环的Sleep,马上进行下一回合任务调度
|
2015-08-05 15:17:33 +00:00 |
nnhy
|
227c1c3f99
|
串口波特率默认值改为1024000,测试通过。
收发缓冲区默认大小64足够,串口1024000下测试通过
|
2015-08-05 14:46:39 +00:00 |
nnhy
|
7eaaf7bd59
|
任务调度支持最大深度。默认1层,不允许重入
|
2015-08-05 05:37:32 +00:00 |
nnhy
|
079b376d53
|
如果是事件型任务,这里禁用。任务中可以重新启用
如果还有数据,打开任务
测试通过
|
2015-08-05 05:10:50 +00:00 |
nnhy
|
00f2b240bb
|
注意Execute内部可能已经释放了任务
|
2015-08-05 04:40:09 +00:00 |
nnhy
|
2c6e768654
|
升级任务调度器,支持创建事件型任务
|
2015-08-05 04:39:24 +00:00 |
nnhy
|
6a8c3da4d4
|
系统时钟虽然很重要,但是并非所有系统都需要用到系统时钟
|
2015-07-28 15:18:15 +00:00 |
nnhy
|
5745e4840f
|
从Time分离RTC,某些设备可能并不需要RTC时钟,经过分离以后,如果未使用RTC,其代码不参与编译。
成功解决Alarm中断没有收到的问题,原来要打开EXIT17。
睡眠测试仍然失败,RTC保存时间的测试成功通过。
|
2015-07-24 07:34:12 +00:00 |
nnhy
|
5a5a3a6a9a
|
任务空闲时,暂停系统,进入低功耗模式,编译通过,测试失败,怀疑GD32芯片损坏
|
2015-07-23 14:26:28 +00:00 |
nnhy
|
eb919b6baa
|
睡眠时间不能过长,否则可能无法喂狗
|
2015-07-23 09:27:01 +00:00 |
nnhy
|
1b4f3f00e4
|
统计任务轮询的平均时间和最大时间
|
2015-07-20 01:54:40 +00:00 |
nnhy
|
a5b4c7b6d7
|
并且任务的平均耗时要足够调度,才安排执行,避免上层是Sleep时超出预期时间
|
2015-07-20 00:33:54 +00:00 |
nnhy
|
9a5d3bdb54
|
分解任务执行代码,简化逻辑
|
2015-07-19 10:21:27 +00:00 |
nnhy
|
4b826af6a6
|
增加任务最大耗时
|
2015-07-19 10:09:50 +00:00 |
nnhy
|
5a7c3db684
|
为了确保至少被有效调度一次,需要在被调度任务内判断
修正Ping无法等待响应的Bug
|
2015-07-19 10:04:41 +00:00 |
nnhy
|
d71d6a22d7
|
显示任务状态之前,显示系统启动时间
|
2015-07-19 09:47:44 +00:00 |
nnhy
|
9674739f6d
|
减少Time.Current的使用
|
2015-07-18 02:19:54 +00:00 |
nnhy
|
6c1a05349a
|
TimeCost借助滴答数,精确计算耗时数
|
2015-07-17 08:54:56 +00:00 |
nnhy
|
cf36ee0a90
|
完善任务统计信息
|
2015-07-15 08:31:40 +00:00 |
nnhy
|
6b8f12b948
|
强化任务调度管理,为了精确统计任务时间做准备
|
2015-07-15 07:59:35 +00:00 |
nnhy
|
ecbade2001
|
编写登录、心跳指令,简单测试,响应数据不正确
|
2015-06-24 11:32:09 +00:00 |
nnhy
|
aa2de93df8
|
不能跳过调度当前任务,否则以太网接收事件里面做的以太网同步操作会失败
|
2015-06-23 08:13:38 +00:00 |
nnhy
|
d34ea09d24
|
us=0 表示释放一下CPU
|
2015-06-23 07:38:36 +00:00 |
nnhy
|
d77206f7a6
|
输出任务状态时间改为30秒
|
2015-06-23 03:27:19 +00:00 |
nnhy
|
45998472d6
|
增加任务禁用和启用,在暂时不需要调度任务时,可禁用
|
2015-06-23 03:11:13 +00:00 |
nnhy
|
5877f51b37
|
定时输出任务状态,测试通过
|
2015-06-23 02:53:22 +00:00 |
nnhy
|
e26377529e
|
如果休眠时间足够长,允许多次调度其它任务
|
2015-06-23 02:31:36 +00:00 |
nnhy
|
f4eb07bf34
|
睡眠时当前任务释放CPU,允许多次调度其它任务,基础测试通过
|
2015-06-23 02:26:27 +00:00 |
nnhy
|
5d315e1b8f
|
统计并提示执行时间过长的任务
|
2015-06-23 01:25:53 +00:00 |
nnhy
|
476c7dca4e
|
等待下一次任务调度的日志太多,屏蔽
|
2015-06-18 13:03:16 +00:00 |
nnhy
|
ca54039080
|
改进任务调度系统,未启动多线程的情况下,Sleep也能够调度其它任务
|
2015-06-18 12:55:56 +00:00 |
nnhy
|
00f478689a
|
最大只允许睡眠1秒,避免Sys.Delay出现设计错误,同时也更人性化
|
2015-05-20 09:05:31 +00:00 |
Stone
|
9ab6d44508
|
要处理好对象的销毁,否则会发生意想不到的后果
|
2014-11-16 19:47:49 +00:00 |
Stone
|
8803b28898
|
避免删除任务时两次触发delete
|
2014-11-16 19:29:28 +00:00 |
Stone
|
3a3d0e6a7e
|
输出日志时,兼容显示us级别的时间
|
2014-10-31 03:56:06 +00:00 |
Stone
|
1cc4001faf
|
改进一下注释
|
2014-10-29 13:48:29 +00:00 |
Stone
|
2f96084c22
|
|
2014-10-21 07:47:43 +00:00 |