割り込み起動後に行きますか?

I

ipunished

Guest
私は、割り込みは、左からどこにマイクロコントローラを返しますが発生したことを理解し..しかし私は、割り込み私はそれがすべてを停止するiterrupt後に停止スイッチ、すなわち、構成されています..私のコードは中にモーターを(1)ループを実行で構成されています..ハードウェア割り込みは、それがすべてを停止する必要があります押した後に再度開始を待つボタンが押されると..私は、ISR内のスタートボタンの機能を呼び出すと思ったが、それは障害が取り払われていないスタックままになります。どのような方法は、この問題を回避するには?
 
あなたのコードでは、回路入れることができます...そしてまた、ハードウェア割り込みが、それがすべてを停止する必要があります押した後に述べたように、それはあなた自身がモータのみをオンまたはオフになってコントローラを使用したいことを意味します...あなたはシステム全体の[コントローラも]したい場合は私がオフになっつのソリューションを与えることができる...これは、小型のハードウェア回路を置くことによって行うことができます... ORゲート[74HC1G32]および負荷スイッチ[FPF2100]を使用すると、この1つを達成することができる... ORゲートは、[AとB] Bは、プッシュボタンに接続すべき2つの入力をしている[の一方の端は、ORゲート、もう一方の端の入力に移動するボタンをVCCに行く抵抗プルダウン]とは、コントローラの出力をのGPIOに接続して取得する必要がありますORゲートは、[Y]は、[抵抗プルダウンで]をFPF2100のの[ピン、3]をONに接続して取得する必要があります... FPF2100のVOUT [第五ピン]は、マイクロコントローラのVCCに接続されます...ロジックは非常には、ボタンを押してキーを押すと簡単ですが、ORゲートの出力は、電源スイッチロードに接続されている高さは、コントローラに行く... 、継続的に電源がコントローラになると、[をORゲートの他方の入力に接続されている] GPIOを高くするプログラムでは...次に、【あなたが言ったように]をすべての停止、押されたスイッチを停止...もう一度押すとスイッチを起動すると、ハードウェアは、GPIO高]...:の笑顔を作る場合を除き、すべての[の世話をします:
 
あなたの詳細な返答、kandhuが、私のおかげではいけない、割り込みの後、私はスタートボタンをもう一度、それが待機する、完全にオフにマイクロコントローラを有効にする、私はちょうどtahtsは、停止スイッチは、それだけですべてを実行して停止を押した後にする、私はしかし、その後私はそれが再びswitchg開始を待つするすべての出力ポートに0を送って意味..時点におけるISRの私のコードは今だけ=出力ポートに0を送信含まれている/
 
あなたは、ISRルーチンにコードを変更できるスイッチを待機している簡単なループを再度押すことを使用します。いったんは、ルーチンを終了するB級を開始押される。
 
|私は、そのことを考えて文句を言わない、それが不手際スタック残して..私は、マイクロコントローラは、ISRは、そのは、スタック上に何かして戻って来て、拾う店に行くと意味..
 
そのことがより良いコードをここに配置する...その後、誰もが問題の解決策を与える...
 
あなたがそのルーチンを入力すると、それは割り込み処理を停止します。それだけで戻りアドレスを格納します。あなたははレジスタを保存してこのような何かをする必要があります。[は/ I]はは、モータを停止します。[は/ I]はがゼロにすべての出力を切り替える[は/ I]ははループが押されるようにスイッチを待っているもう一度[は/ I]はは、モータ起動[を/ I]はは出力を復元します。[は/ I]はで[は/ I]ははレジスタ[/ Iは]私の[復元任意の割り込みフラグをクリア]出口のISR [/私]を
 
ISRの中で保存するレジスタは、スワップをお届けします。
 

Welcome to EDABoard.com

Sponsor

Back
Top