到开始后中断?

I

ipunished

Guest
据我所知,当一个中断发生时,微控制器返回到那里留下..但我的中断后,由iterrupt我希望它停止所有一切都停止开关,即..我的代码由运行中的一个,而电机(1)循环..硬件中断后,按下它应该停止一切,然后再等待启动按钮被按下..我想调用在ISR的启动按钮的功能,但将离开堆栈未清除。任何方式来解决这个?
 
你能不能把你的代码和原理图... ,你也提到了硬件中断后按下它应该停止一切,这意味着你要关闭或控制器本身仅电机...如果你想整个系统[控制器太]来关闭我可以给一个解决方案...这可通过把硬件电路...使用OR门[74HC1G32]和负荷开关[FPF2100]你可以做到这一个...或门有[A和B] B应连接两个输入按钮[按钮一端会去手术室门口,另一端去VCC的输入与下拉电阻]和A应该可以连接到GPIO的控制器,其输出或门[年]应该连接至[第三针]的FPF2100 [带下拉电阻] ...在VOUT的FPF2100 [5针]将可以连接到微控制器的VCC ...这种逻辑是很简单,当你按下按钮,或门的输出为高,负荷开关连接到控制器,然后停电...在你的程序作出的GPIO高[这是连接到其他输入或门],然后不断停电到控制器...然后停止按下开关,停止[喜欢你告诉]一切...再次按下启动开关,硬件将采取除GPIO的微笑使高]...:一切[护理:
 
您的详细答复,kandhu,但我谢谢你不想把微控制器完全关闭,因为在中断后,我希望它等待重新启动按钮,我只想tahts停止开关后,按下它只是停止一切运行我的意思是发送0到所有输出端口,但之后,我希望它等待switchg又开始..我对ISR代码,截至目前只包含0 =发送到输出端口/
 
你可以修改你的ISR中的程序代码,并使用一个简单的循环等待开关被按下了。一旦它被按下启动everthing然后退出程序。
 
|我也想到了,但它不会给堆栈管理不善..我的意思是当单片机ISR中去,它存储在栈做什么的,然后再回来,拿起..
 
其更好你把代码在这里...那么谁给你的问题的解决方案...
 
当你进入常规,它停止中断过程。它只存储返回地址。你需要这样的[我]登记保存的东西。[/我] [我]停止电机。[/我] [我]开关所有输出为零。[/我] [我]回路开关等待按下一次。[/我] [我]启动马达[/我] [我]恢复输出。[/我] [我]清除任何[/我] [我]恢复寄存器[/我] [我中断标志]退出ISR公司[/我]
 

Welcome to EDABoard.com

Sponsor

Back
Top