STM32いじってみた(9) Flash編

はい、これぞ僕が記事にしたかった内容です!!!さっきの SPI とか適当にやってましたが、この記事はデータシートを参照しながらガチで行きます。

Flash ってなんだ?プログラム書き込みか?と思われるでしょうが、そんな感じです。ここでは、プログラム書き込みで使っていないブロックを EEPROM 的にデータ保存領域として使わせていただく と言う意味で言っています。つまり、パラメータ等の値を不揮発性メモリに記憶したい!って思った時、この STM32 の Flash 構造がとっても役に立つんです。これはもう使うしか無いですよね!!!!(荒い鼻息)

また、僕と同じように OpenOCD を使う場合は Flash 領域でプログラムが占有するブロックのみが消去されるので、Flash 領域後半にデータを書き込んでおけばとってもよろしいのです。

という訳でまずはこの領域について説明をします。

続きを読む


STM32いじってみた(8) SPI編

どうも、このテーマは久しぶりですかね。やっぱり説明も雑になってしまって存在価値が疑わしくなりましたが、実際に動くコードの提供ということで相も変わらず適当にやっていきます。

今回はエンコーダー等の通信に欠かせない SPI 通信をやってみました。コード全体は以下です。なんと設定項目すっごく少ないんですね。

マスタモードのみでのコード提供です。スレーブモードは…スミマセン。行数で言うとペリフェラルの設定よりもポート設定のほうが長いというのがまた驚きです。
端子ですが、NSS という見慣れないものがあります。これは Slave Select 端子です。SS とか SSEL とか言うことが多いですかね。この極性とかもレジスタで自由に弄ることが出来ます。


マイクロマウス全日本学生大会の結果

本厚木とかいうめちゃくそ遠い地で大会がありました。自分の機体もここでなんとかゴールしたい…と思っていたのですが、モーターが回らなくなり棄権しました。

実は前日にマイコンから火花が散り、更につられてモタドラがご臨終という事件がありまして、緊急事態だったわけですね。
そこでモタドラ基板(メインとセパレート)を後輩から借りて使わせて貰おうかと思っていたのですが、マイコンを変えて基板をはめても片方のステッピングモーターが動かない。励磁はしてました。

どう頑張っても原因がわからないということで、棄権しました。残念すぎる。

その後副幹事長の「調整したければ早引きしていいよ」との神的なお言葉を頂いたので大学まで戻り復旧作業をしていました。

なんとこの時、スズメッキ線が接触不良を起こしていたというまさかの初歩的なバグを発見。つらい、つらすぎる。

というのが僕の学生大会でした。次の東日本大会では走ってゴールまでしたい!!そのために制御に少し工夫を入れようと思います。前壁制御とか壁切れとか。


ステッパマウス進捗報告 on 2017/9/27

ブログタイトルに「活動記録」とついてるので、これからは作業が進み次第マイクロマウスの進捗報告をしていきたいと思っています。
こうした方がモチベ維持につながるんじゃね??とも思っているので。

今日やったこと概要

  • しきい値の調整ほぼ完了
    • どうやらイキってWMMC標準プログラムを書き換えた時に重大なミスをした模様
  • とりあえず今週土曜の全日本学生大会は定速走行 with 比例制御で出場することに決定
  • ブザーをデフォルトでオンに
  • ゴール後の謎挙動を修正
    続きを読む

STM32いじってみた(7) I2C送信編

続いて I2C です。が、この機能ではとりあえず秋月LCDモジュールを動作させることを目的にしたため、受信用の関数は作っていません。EEPROM は I2C が多いのですが、スミマセン。送信のみの実装とさせてください。
続きを読む


気づいたらR8Cマイコンを全クリしてた話

どうも、秋月電子のHPで素子を探していたのに、気付けばマイコンの検索を始めているほどマイコン沼から抜け出せなくなっていました。
ここ最近、ルネサスの R8C マイコンをいじっていました。元は三菱のマイコンらしい。こんなやつです。

電子部品,通販,販売,半導体,IC,マイコン,電子工作R8C/M12Aマイコン(M120AN)秋月電子通商 電子部品の通販・販売

なんと100円。これはお買い得すぎる。しかし ROM が 2kb かぁ と思ったら、このサイトによるとなんと 64kb もあるというらしい。本当にお買い得だ。もしかしてこの値段対性能では、かつての LPC810 を大きく超えるコスパなのでは!?

ただ、関数ごとにセクションの指定をしてあげる必要があるらしく、多分お得意の vsprintf とかは含めることは出来ないなと思うのでした。

ということで3つほど購入。当然ですが計300円です。これがマイコン3つ分の値段だとは思えないね。
続きを読む


大会始まってもいないのにオフシーズンの予定を立てる

いろいろとモチベが上がってきたので。

マイクロマウスサークルに所属しているということでやっとこさ B3 で DCマウスを作ってみたいと思います。
僕自身、先輩方のモチベが-∞に発散したり、ブルーレット(おくだけ)になったりと結構苛酷な制作現場を見てきましたが、僕自身もこの沼に足を突っ込もうとしているのですね。ワクワクします。
というわけで、お得意の実験ノートをPCでとりつつ、出来るところまで技術継承していきたいと思います。というか自分に制御技術とかまったくないわけなんですが。

あと、僕自身電子系の学生なので、ロボットを作るということは周りはやってないと思うんですよ。だからやってみたいというのもあります。

という訳で以下に方針を立てます。
続きを読む




RX220の開発環境をMac(Linux)で整える

マイクロマウス界隈で急激に人気を伸ばしているRXマイコンについてです。NTF東日本支部でぼちぼち話題になっているようなので取り上げようかと。
これはルネサス社が手がける、RXアーキテクチャを利用した32bitマイコンで、各種機能が充実しているものになります。

RX といえばメジャーなもので RX631 がありますが、WMMC で「RX220ワンチャン」という声が上がったので、今回の記事ではこれを取り上げます。この間までサークルの皆がコードジェネレーターでプログラムを書いて評価する中、僕はシコシコとレジスタを弄って設定をしていきました。

このマイコンの特徴を挙げるとすると、多分こんな感じだと思います。結構高橋さんのサイトを参考にさせていただきました。
続きを読む