私が持っているATmega8とノキアLCD 5510それに接続されています。ブレッドボードではすべてがうまく機能します。次のステップは、より永続的なボードに移動することです。私の問題は、LCDも接続されているときにATmega8をプログラムできないことです。私は、それらが同じSPIピンを使用し、LCDが何らかの形でプログラミングに干渉しているためだと思います。LCDを外さずにISP経由でATmegaをフラッシュできるように、これをどのように変更できますか?
私が持っているATmega8とノキアLCD 5510それに接続されています。ブレッドボードではすべてがうまく機能します。次のステップは、より永続的なボードに移動することです。私の問題は、LCDも接続されているときにATmega8をプログラムできないことです。私は、それらが同じSPIピンを使用し、LCDが何らかの形でプログラミングに干渉しているためだと思います。LCDを外さずにISP経由でATmegaをフラッシュできるように、これをどのように変更できますか?
回答:
プログラミング中は、他のデバイスがSPIラインを駆動しないようにする必要があります。
ドライバの競合を回避するために、外部回路がこれらのラインを駆動している可能性がある場合は、3本の専用ラインのそれぞれに直列抵抗を配置する必要があります。
アプリケーションノートAVR910をご覧ください。
問題を回避するために、インシステムプログラマは、プログラミングサイクルの間、ターゲットシステムリセット全体を保持できる必要があります。ターゲットシステムは、リセットがアクティブな間は、3つのSPIラインを駆動しようとしないでください。
したがって、プログラマがリセットを保持している間、ディスプレイが何もしないように、ATMEGAとディスプレイのリセットラインを機能的に接続するのが最適です。