ロボコンでROS使おうと決めたもののArduinoは甘えだから使いたくない(Arduinoにはエンコーダインターフェースがないから使いたくない)
ということでrosserialを普段から使ってるSTM32に移植しようと考えた。

どうせC++でやるなら全部C++にしちゃおうということで、stm32plusというC++のライブラリを使ってみることに。
マイコンでC++とか…そう思っていた時期も私にもありました。

stm32plusはF0,F1,F4シリーズに対応していて、ペリフェラルの初期化をほぼ同じように記述できる。
F1とF4を同時に使っている場合、stdperiphlibではコードに互換性がないから扱いにくいが、このライブラリを使用すれば再利用が楽で良い。

STM32F103CBT6に対応していなかったためforkして対応したやつをコミットしました。
https://github.com/spiralray/stm32plus
(LチカとPWM出力しかテストしてないので注意)

で、本来の目的のrosserialに対応させたプロジェクトがこれ

https://github.com/spiralray/stm32f1_rosserial

まぁstm32plusでUSART初期化して、送受信を割り込み動作させてbufferに格納するクラス(UsartWithBuffer)を作成しただけですが…

バグあったらプルリクエストお願いしまぁす♡


2件のコメント

Kartik Madhira · 2016年12月24日 12:55 AM

Really intriguing blog! Some awesome stuff! Well, i am here to ask if you could explain as to how you made the stm32harware wrapper?Could you elaborate more on the same?
Thanks in advance.

Kartik Madhira · 2016年12月24日 12:08 PM

The makefile is not compiling on ubuntu using make -j4 command. Could you please tell me as to how to fix this or how do you use the rosserial for stm32f1 as there is no intallation guide in your repo.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

組み込み関連

IoTサイコンを作る(3) ~SW4STM32編~

sakura.ioを用いたナウでIoTなサイコンを作るシリーズ第3弾で 続きを読む …

組み込み関連

IoTサイコンを作る(2) ~CubeMX編~

前回の続きです。 STM32CubeMXを使って、回路図に従いマイコン 続きを読む …

組み込み関連

IoTサイコンを作る(1) ~回路編~

さくらインターネットからサービス提供されているsakura.ioを用い 続きを読む …