2016年12月1日木曜日

LPC1114FN28個人的まとめ(mbed)

どうもお久しぶりです。
大学がちょっと忙しく気付いたら11月終わる・・・
その間にもちょくちょく遊んではいましたが本格的に開発には至れませんでした。
そんな中,いまさらですがmbedで遊んでみたことを個人的にメモします.
リファレンス見るほうがはるかにわかりやすいかも.

・デジタル入出力

      DigitalOut name(pin);  デジタル出力設定
  DigitalIn name(pin);  デジタル入力設定
  
   name=1;のように書くことで動作します.

・アナログ入力

   AnalogIn   name(pin);   アナログピン入力設定
    val = name.read_u16()  値の読み出し
 
    上位12ビットが有効だとか
 

・PWM出力

PwmOut name(pin);  PWM出力設定
  Duty比の入力はname=val(float 0~1.0)のようにします.

  name.period(ms);
  周期を設定します.未指定の場合は20[ms]

  name.pulsewidth(val)
  パルス幅を設定します.サーボモータ等で使用できるかも.

・シリアル通信

Serial  name(tx, rx);  シリアルポートオープン
  name.baud(baudrate); クロックレート指定

  name.format(bits, parity, stop_bits)
  通信方式指定.当分は初期設定から動かすことはなさそう.

  val = name.getc(); 受信
  val = name.readable(); 受信チェック
  文字列の受信について少しひねる必要がありそう.

  name.putc('A'); 一文字送信
  name.printf("Hello");  数値,文字列などを送信
  未確認ですがputc()のほうが早いと思われます.
  センサデータなどをだらだら出力する使い方では,がんばって8bitに収めたほうが
  よさそうです.

  ※私の環境のせいなのかシリアル変換ケーブルのDTRピンを使用すると
シリアルポートを開いた時にマイコンが停止しました.設定で回避できるのかな・・・
    いずれは割り込みを使っていきたい.
 
今回プラスI2C,SPI,タイマ割り込み等を使用できれば,当分は自宅内の電子工作で困らなさそうです.使ってみた感想はmbedはArduinoより若干難しいレベルで本内容を全部チェックしても2時間ぐらいでした.しかし,いづれはガシガシレジスタをいじっていきたいところ.
とりあえず当分はmbedを使い,LCDやモータを回して遊びたいです.
次回はI2C,SPI,タイマ割り込み等を書きたいと思います.

0 件のコメント:

コメントを投稿