zhdm 发表于 2021-2-25 21:55

谢谢分享

lvyunhua 发表于 2021-2-25 21:56

好好学习,天天向上。

ilymqdh 发表于 2021-2-26 08:18

来看看了
谢谢分享

misra 发表于 2021-2-26 18:12

祝大家元宵节快乐

allencrx 发表于 2021-2-27 10:02

哈哈,来过! 紫苏布丁

cjseng 发表于 2021-2-28 12:17

misra 发表于 2021-2-25 10:02
一看就是很牛的了

再给你来个


bit Lamp;
u8 Step;
u8 Max_Step=4;
u16 Time[]={0,3000,111,88,999};
u8 Out[]={0,1,0,1,0};

//每1ms调用1次
void Task()
{
if(Step==0)
{
Lamp=Out;
   retunr;
}

if(Time>0)
{
Time--;
}
else
{
Step++;
if(Step>=Max_Step)Step=0;
}

Lamp=Out;
}


xyz549040622 发表于 2021-2-28 20:18

支持下一下,看着简单,好多人确实还是简单的delay延时打天下了。我是习惯建立一个全局变量计数器,整个定时器,一直做减计数。

kingTek 发表于 2021-3-1 09:10

本帖最后由 kingTek 于 2021-3-1 09:12 编辑

楼上说的比较接近最优解
楼主此类命题我们当年翻来覆去都写过这种代码,一个程序可以执行很多任务。简单的delay函数基本都是入门级,不具备多少实用性的
要注意程序的主体架构,不要只看局部。
这些都是技术积累所必须的基本功。

87cc 发表于 2021-3-1 09:48

不错模块化时钟基线思维

lon15926 发表于 2021-3-1 19:10

感谢楼主分享

qjp1988113 发表于 2021-3-3 16:07

呵呵,不错~~

hayden0 发表于 2021-3-3 16:31

小小调度器也不错,功能类似

hwpga 发表于 2021-3-3 21:12

本帖最后由 hwpga 于 2021-3-4 10:31 编辑

用几份有分量OEM源码,学架构是最快的
时间片,分时,并发,复用

呵呵,像你这些资料,学了也是浪费时间



桂林y 发表于 2021-3-4 12:45

学习了,学习了

misra 发表于 2021-3-5 21:38

感谢编辑推荐!

随风而去吧 发表于 2021-3-5 21:47

很棒帮哦,学习中

星星ARM 发表于 2021-3-5 23:52

ayb_ice 发表于 2021-2-25 10:35
来个通用版的

在晚上看到你的这段代码很好,能不能添加注释,我那特别喜欢这段代码,也谢谢辛苦的付出

星星ARM 发表于 2021-3-6 00:09

misra 发表于 2021-2-25 09:41
1楼占个位
源码链接(21IC这个超链接似乎不好用,大家费点事,复制粘贴吧):
https://github.co ...

上边的连接怎么打不开?

mailshichao 发表于 2021-3-6 09:05

软定时器,这也是OS的的基本功能之一啦,一般的单片机项目开发在没有用OS的情况下,除了实现这个外,更重要的时要会利用状态机思想对具体的任务处理。

HXM1593 发表于 2021-3-6 13:06

这个是OS系统吗?很有意思呀,快公布啦
页: 1 [2] 3 4 5
查看完整版本: 真正的单片机程序框架------->小巧的软件定时器....O(∩_∩)O