ページ

2013年11月27日水曜日

STM32で割り込みを使った通信をする - C言語版

以前、STM32での割り込みを使った通信をC++を用いて実装したのですが、どうにもSTM32が言うことを聞かず、大量のデータを送受信した場合に謎割り込みがかかる現象が発生しました。

とりあえずのところ、割り込みハンドラ内でUSARTモジュールをリセットすることで正しく動作するようにはなったのですが、バグの原因を特定すべく色々調査を行いました。
その過程で、割り込みを使ったシリアル通信をC言語で実装しました。

結果としてC言語では謎割り込みの現象は解明せず、どうもコードがコンパイラが怪しいのではないかということになったのですが、せっかく書いたコードを眠らせておくのももったいないのでC言語版のコードも公開したいと思います。

こちらのgithubに公開しておきました

GNUのツールチェインを使っていますが、C言語で書いており、StandardPeripheralLibrary以外には依存していないので他のツールチェインでも問題なくビルドできると思います。

0 件のコメント:

コメントを投稿