softdev:mbed
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
softdev:mbed [2013/02/17 22:07] – [RTC] king | softdev:mbed [2013/07/15 20:25] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 5: | 行 5: | ||
{{: | {{: | ||
+ | 最初はここを見た。http:// | ||
+ | |||
+ | ====== freescale Kinetis ====== | ||
+ | Freedomという開発基板をmbed化できるらしい。[[.: | ||
===== LPC11U24リソース ===== | ===== LPC11U24リソース ===== | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | ===== USB ===== | ||
+ | [[softdev: | ||
+ | |||
+ | ===== 機能 ===== | ||
==== RTC ==== | ==== RTC ==== | ||
行 49: | 行 57: | ||
BusInではpropertyが使えないようなので、DigitalInでも宣言し、.mode で設定する。 | BusInではpropertyが使えないようなので、DigitalInでも宣言し、.mode で設定する。 | ||
+ | ==== SPI ==== | ||
+ | SPIマスター機能、これは簡単にできた。下記はシフトレジスタ595で接続されたキャラクタLCDをspiで制御する例\\ | ||
+ | LCDのDB0~7, | ||
+ | <code c++> | ||
+ | SPI spi(p5, | ||
+ | DigitalOut solat(p8); | ||
+ | int main() { | ||
+ | spi.format(16, | ||
+ | spi.frequency(100000);// | ||
+ | ・・・・・ | ||
+ | ・・・・・ | ||
+ | ・・・・・ | ||
+ | } | ||
+ | |||
+ | void send_word(int data){ | ||
+ | spi.write( data ); | ||
+ | wait_us(1); | ||
+ | solat = 0; | ||
+ | wait_us(1); | ||
+ | solat = 1; | ||
+ | wait_us(1); | ||
+ | } | ||
+ | |||
+ | void send2cmd(char cmd){ | ||
+ | int data; | ||
+ | data = 0x0100 + cmd; | ||
+ | send_word( data ); | ||
+ | | ||
+ | data = cmd; | ||
+ | send_word( data ); | ||
+ | |||
+ | data = 0x0100 + cmd; | ||
+ | send_word( data ); | ||
+ | wait_us(24); | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | ところで、 | ||
+ | < | ||
+ | |||
+ | ==== アナログ入力 ==== | ||
+ | ちょっとよくわかってないのだが、どうも入力を0~1.0Vに正規化して返すらしい。\\ | ||
+ | 普通、Vref-Vss(Vin-GNDと共用する事が多い)の分解能(この場合10bit)の値を返すから、電圧=値×3.3/ | ||
+ | |||
+ | ARM使ってプログラムが肥大化するにはこういった処理が含まれるからなのかも知れないなぁ、と感じる。。。\\ | ||
+ | あらかじめ、ハードで1.024倍しておくという使い方もあると思うが、、会社でもそうだが、何でもかんでもファーム。CPUはパフォーマンスを上げ続けるという構図ができあがっている。製品が作れないのはCPUパフォーマンスが足りないからだと、すぐ口にする。きにくわん。 | ||
+ | |||
+ | もちろん、0~1で正規化されたfloatのほうが直感的だし使いやすい事は理解する。 | ||
+ | |||
+ | <code c> | ||
+ | AnalogIn LM61(p15); | ||
+ | void main(){ | ||
+ | float tempC; | ||
+ | tempC = ((LM61*3.3)-0.600)*100.0*10; | ||
+ | </ | ||
+ | p15をアナログ入力にして、LM61を増幅せずに繋いだ例。 | ||
softdev/mbed.1361106468.txt.gz · 最終更新: 2013/07/15 20:27 (外部編集)