shima-529一覧


ATMEL SAM D21復活

以前、この記事で「SAM ちゃん Brick したあああ」とか「もう嫌だコイツ触んねポイー」的なこと言っていましたが、SAM DマイコンでSETDISビットを1にしてSWDが無効になったとき | 東京デバイセズ の記事をフォロワー(サークルの部員でもある)に教わり、復活法を試してみました。

その時はどうやら GND に落とすピンを間違っていたみたいで復活しませんでしたが、今日もう一度やってみて、実際にこの通りにできました
続きを読む


第31回シェル芸勉強会解いたぞ

けんきうしつに配属されましたが、土曜出勤は今のところなさそうです。ということで、次回のシェル芸勉強会はぜひとも参加したい!!!

本日出題された問題を取り急ぎ解きました。相変わらずの awk 狂ですが、ご了承ください。
10/7 中に解くとか言いながら、日付をまたいでしまいました。しかも全部解き終わってないし。すみません。

なお、今回の勉強会はサークル内での総会があったため、そちらを優先。幹部だから当然ですよね!!

問題はこちら

続きを読む


seqコマンドにフォーマット指定子が使えた件

暇な時に man seq したらシェル芸で使えそうなオプションを発見。

SEQ(1)                         ユーザーコマンド                         SEQ(1)

名前
       seq - 数字の列を表示する

書式
       seq [OPTION]... LAST
       seq [OPTION]... FIRST LAST
       seq [OPTION]... FIRST INCREMENT LAST

説明
       FIRST から LAST までの数字を INCREMENT 間隔で表示します。

       長いオプションで必須となっている引数は短いオプションでも必須です。

       -f, --format=FORMAT
              printf 形式の FORMAT で浮動小数点を表示する

浮動小数点数形式でのみフォーマット指定子が使えるらしい。早速やってみた。

$ seq -f "羊が%f匹" 5
羊が1.000000匹
羊が2.000000匹
羊が3.000000匹
羊が4.000000匹
羊が5.000000匹

おお、たしかに。ただ羊は自然数匹しか存在し得ないためこれは微妙。しかしこれは工夫すればいいですね。

$ seq -f "羊が%.0f匹" 5
羊が1匹
羊が2匹
羊が3匹
羊が4匹
羊が5匹

小数点以下を0桁表示で実質 %d できました。これまでだと

$ seq 5 | xargs -n1 printf ' 羊が%d匹\n'
羊が1匹
羊が2匹
羊が3匹
羊が4匹
羊が5匹

とやっていたので短さ・読みやすさともに抜群です。


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つ分の値段だとは思えないね。
続きを読む