发新帖我要提问
123
返回列表
打印
[C语言]

请教,资源紧张的情况下用什么样的程序结构?

[复制链接]
楼主: winter1999
手机看帖
扫描二维码
随时随地手机跟帖
41
coody| | 2014-10-17 18:56 | 只看该作者 回帖奖励 |倒序浏览
MEGA8,8M晶振。
单是这个“1、任务A需要每500us调用一次,任务执行周期350us,无法分解。”
就占掉CPU 70%的时间了,别的程序还要那么快,别以为M8是神器,这货速度没你想得那么快。
跑16M还好办。

使用特权

评论回复
42
xlsbz| | 2014-10-17 21:38 | 只看该作者
winter1999 发表于 2014-10-17 15:49
谢谢回复。
捕捉不是周期性的,有时几十us有时几百us甚至ms级别,不定。
----

有时几十us有时几百us甚至ms级别

难道  1ms小于1us么?

怎么成了甚至ms级别???

使用特权

评论回复
43
bobde163| | 2014-10-18 16:29 | 只看该作者
各位大神在进行指导,希望楼主能解决

使用特权

评论回复
44
winter1999|  楼主 | 2014-10-20 08:41 | 只看该作者
xlsbz 发表于 2014-10-17 21:38
有时几十us有时几百us甚至ms级别

难道  1ms小于1us么?

因为周期跨度比较大

使用特权

评论回复
45
winter1999|  楼主 | 2014-10-20 08:41 | 只看该作者
bobde163 发表于 2014-10-18 16:29
各位大神在进行指导,希望楼主能解决

谢谢

使用特权

评论回复
46
原野之狼| | 2014-10-20 08:57 | 只看该作者
350US的任务不要放到中断里 中间可以插入一些标志检查点
高优先级的放到中断里做  力求短小精悍

使用特权

评论回复
47
cjseng| | 2014-10-20 22:14 | 只看该作者
我的办法就是给硬件打个补丁,用一个STM32代替原先的MCU。画一块小板子,把用到的引脚转换成原先mcu的引脚,这样硬件不用大改,程序写起来也方便。

使用特权

评论回复
48
Jack315| | 2014-10-22 07:15 | 只看该作者
winter1999 发表于 2014-10-17 15:49
谢谢回复。
捕捉不是周期性的,有时几十us有时几百us甚至ms级别,不定。
----

使用状态机是个好主意。LZ可试试 IAR 的 visualSTATE。

定时要求高的功能考虑放在 ISR 里直接运行,其它的功能则交给状态机负责。

使用特权

评论回复
49
tuzihog| | 2014-10-22 19:10 | 只看该作者
不错,关注一下

使用特权

评论回复
50
Mcuzone_xyz| | 2014-10-23 13:50 | 只看该作者
zhaoyu2005 发表于 2014-10-16 10:36
你这不是自找麻烦么,有硬件资源的当然硬件资源优先,没有的才模拟。比如595你用硬件spi,发送数据不用管 ...

:handshake同意,换成硬件估计就不会这么捉急了,代码量也小了

使用特权

评论回复
51
efen| | 2014-10-23 16:51 | 只看该作者
只能把其它任务拆分在150us了,再考虑那两捕捉中断,估计得100us内,M8也只执行800条指令

使用特权

评论回复
52
llsluoluo| | 2016-2-25 21:49 | 只看该作者
winter1999 发表于 2014-10-16 09:22
谢谢,ms级的延时是没有的。但是有的任务执行起来耗费的时间比较多,已经尽量的拆分。但还是做不到us级别 ...

深圳天微电子股份原厂 有完全替代合泰1621和1622  性价比高于合泰   加我qq2208962322   刘生18503002452  可以免费提供样品和技术支持

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则