前后台时间的分配

[复制链接]
4640|16
 楼主| liuoulyy 发表于 2011-2-1 09:28 | 显示全部楼层 |阅读模式
请都各位大侠,在前台中断时间为10US时,如果前台程序序需花9US时,那么后台不就是1US吗?像这种情况时间怎么处理呢?比如如果要中断准确定时1US,那后台程序么样跑呢?
红金龙吸味 发表于 2011-2-1 09:41 | 显示全部楼层
跑不了,累死了。
ycz9999 发表于 2011-2-1 10:38 | 显示全部楼层
感觉1us有点折磨CPU   普通51进出中断都不止1us吧
fushaobing 发表于 2011-2-1 10:47 | 显示全部楼层
楼主的振荡器频率是多少?执行一条nop指令要多长时间?
 楼主| liuoulyy 发表于 2011-2-1 15:18 | 显示全部楼层
50M,C8051F410
 楼主| liuoulyy 发表于 2011-2-1 15:44 | 显示全部楼层
那种高速采样的AD比如2M速率,0。5个US采样一次,单片机那不是做不到?
norman33 发表于 2011-2-1 15:55 | 显示全部楼层
太短了,就算芯片能够支持这么快的中断主程序中的代码也会得不到及时执行的。
NE5532 发表于 2011-2-1 16:27 | 显示全部楼层
那种高速采样的AD比如2M速率,0。5个US采样一次,单片机那不是做不到?
liuoulyy 发表于 2011-2-1 15:44


有其他策略补偿,比如DMA传送,缓冲之类,不是但一个单片机来抗的,何况你的51也太慢了。
yhn1973 发表于 2011-2-1 21:12 | 显示全部楼层
没问题。
中断定时1US,中断程序需1US,后台程序照样正常执行,就是慢些。
 楼主| liuoulyy 发表于 2011-2-2 10:41 | 显示全部楼层
中断程序刚一完成1US,中断定时时间到,哪还有时间去执行后台程序呢?
yhn1973 发表于 2011-2-2 15:45 | 显示全部楼层
51核的特点,中断程序占用率100%,主程序也不会死机。
上述情况中,中断程序以C8051F410的速度运行,后台程序以12MHz的8031速度运行。
 楼主| liuoulyy 发表于 2011-2-4 07:04 | 显示全部楼层
谢谢,我试一下,但不知您这样的说法是哪来的?
 楼主| liuoulyy 发表于 2011-2-4 07:15 | 显示全部楼层
FPGA和ARM,中断程序占用率100%,主程序也不会死机吗?
hgjinwei 发表于 2011-2-4 10:02 | 显示全部楼层
CPU都给卡死在中断程序中了,难道主程序是传说中的:

while(1); ?
coody 发表于 2011-2-4 14:18 | 显示全部楼层
11楼 的说法,我不认可,如果在中断里是while(1),那么,主程序根本就没有使用CPU的机会,因为一直没退出中断。
yhn1973 发表于 2011-2-4 22:13 | 显示全部楼层
中断程序占用率100%,不是说中断程序里有死循环,而是指中断程序执行的时间>=周期性中断事件如定时器等的周期时间,即在中断程序还没执行完时又产生了该中断事件。
  51核的中断处理过程是退出中断程序后(执行RETI指令),必须再执行一条指令后才会响应中断。因此若中断程序执行1us,中断周期1us,则每执行一遍中断程序必须要执行主程序中的1条指令,即主程序中的指令以每条1us的速度运行而不会死机。
 楼主| liuoulyy 发表于 2011-2-6 10:36 | 显示全部楼层
谢谢楼上.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

134

主题

472

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部