アーカイブ
CY8C29466のGPIOでLEDピコピコさせた
「LEDをピコピコさせる」というのは横一列に並べたLEDをマイコンのピンから順番に電流を出したり出さなかったりして順番に点灯させる事を指す。
GPIOの開閉、代入、wait処理、for文if文、インクリメントなどのマイコンプログラミングでよく使う要素が入っているので、新しいマイコンを使う時はこれをやってみる事にしている。
ちなみにGPIOへの入力は、チャタリングやプルアップなど色々あるので別にやる。
→LED ピコピコ 検索結果
あと最近知ったけど GPIO はGeneral-Purpose I/Oの略で、つまり汎用ピンの事なんだね。
PSoC MiniProg付属のPSoCMiniEvalにCY8C29466を載せてやってみた。
Source Code(PSoC Designer 4.3 + C Compiler)
動かした。
今回も桑野さんのはじめてのPSoCマイコンのp.63-72「入出力&割り込みのしくみとスイッチ&LEDを使った実験」を参考にした。
PSoC DesignerでCY8C29466の16bitPWMを動かす
昨日は夕方にスタバに行って、PSoCいじってきました。
真ん中のLEDがPWMで0.3秒間隔ぐらいで点滅する。PWM(Pulse Width Modulation)はON/OFFの振幅幅を指定して自動的に波形を作るしくみの事で、カウントアップするタイマカウンタに対してduty値を指定してそれより大きい時は出力をHI、小さければLOWにする。
つまり波形を操作するにはduty値、カウントアップの間隔(システムクロックを分周したりして調節できる)、カウントアップの初期値、最大値、1クロックあたりのカウントアップ値、などのレジスタ(たいてい普通の変数として代入できる)を設定しなおす事で動的に波形を変える事が出来る。

PastelMagicの桑野さんが書かれた「はじめてのPSoCマイコン」の第1章 PSoCチュートリアル (p.25-53)を、PSoC MiniProgを買った時に付いてきたミニ評価ボード(CY3210-MiniEval1)にCY8C29466乗っけた版としてやってみた。
(この本ではCY8C27443を使っているが、ピンコンパチで上位版なので俺は29466をメインに使っていく予定)
CQ出版 (2004/11)
売り上げランキング: 137445

PSoCをはじめる一冊
$10マイコンがバージョンアップ!
PSoCの基本が解ります
ちなみに29466はGainerでも使われている。
■用意するもの
・プログラムを書くIDE → PSoC Designer(Cypressダウンロードページ)
・ISPライター制御プログラム → PSoC Programmer(Cypressダウンロードページ)
・PSoC C言語コンパイラ → 秋月電子通販
・PSoC MiniProg → 秋月電子通販
・CY8C29466 → 秋月電子通販
avr-gccのレジスタ操作で16進数とか使わない方法
最近出たこの本、すごくいい。
マイコンもATmega168で最新だし、gccでのコードが載っているのでよくわかる。
電波新聞社 (1982/01)
売り上げランキング: 23347
でもIOの操作で16進数とか使うのがあんまり好きじゃない。別にどう書いても動けばいいんだけど…
PORTB = 0×21;
とか。0×21、つまり10進数の33を代入しているので、PB5とPB0のピンを出力に設定しているという事だ。
でもこう書いたほうが好きだな。
PORTB = _BV(PB5)|_BV(PB0);
それかアセンブラ風にこういうのも好き。
sbi(PORTB,PB5);
sbi(PORTB,PB0);
こういう書き方の方が16進数慣れてない人には見やすい。ピン配置とプログラムをある程度柔軟に変えやすいのが近代的。(PB0からPB3に変えるのも、エディタの置換で一発だ)
どうなってるのかというと……



最近のコメント