質問: 328UとのSPI通信のタッピング 私は、直列の2 * 595と4つのトランジスタで制御された4×14セグメントの英数字ディスプレイからデータを抽出しようとしています。シリアルデータはSTM32f103から供給されます。そのファームウェアは変更しないでください。 問題は、16MHzで動作しているAtmegaがARMからの2.2MHzのSPIクロックに対応できないことです。そしてそれは16ビット連続ワードで、Atmegaは8ビットSPDRバッファしか持っていません。 データラインからデータを格納し、遷移間のマスターとして遅いクロックでそれを読み取ることを可能にするようなワンチップソリューションはありますか? 並行して処理するのに十分なピンがありません。 OR(ワイヤ)(ダイオード)は595の動作をクロックしますか?
回答: 595にアクセスできるのであれば、それらがSTM32によってロードされた後にシリアルデータをそれらからクロックアウトすることができるかもしれません。 ATmegaは(多分ピン変化割り込みを使用して)ラッチ信号を監視し、それからそれが出力レジスタに格納されると2番目の595のQH 'ピン経由でデータを出力します。 あなたは595 クロック入力をSTM32のSPI クロックとATmegaからのクロック出力間で切り替える必要があるでしょう。 SMT32クロックがローアイドル状態ならば、単純なORゲートで十分でしょう、あるいは4つのNANDゲート(1つの74HC00 IC)からマルチプレクサを作ることができます。 !schematic simulate this circuit – Schematic created using CircuitLab