先にインストールしたPSoC DesignerでLEDチカチカしてみました。
まず、ストレス発散に一言。
『PSoC Designer 使いにくいっ!!』
なにが使いにくいかというと、内部処理でいろいろと怪しい橋を渡っているのか、KasperskyがWarningを頻繁にあげてきます。さらに、内部的にバッチファイルを生成してそれを呼び出すことでコンフィギュレーションとビルドを行うみたいなのですが、バッチファイルがKasperskyにブロックされてしまいます。バッチファイルの名前が毎回違うので、ブロック対象から外すこともできず、かといって、Kasperskyの機能を丸ごと無効にする気にもならずでどうしようもありません。
さらに、HEXファイルも生成される箇所が2箇所あることがあるようで、しかも、片方しか更新されない場合があります。PSoC Designerから呼ばれるProgrammerは別プロセスにはならない(=ウインドウが出ている間はPSoC Designerの操作はできない)ので、別途PSoC Programmerを起動しておく方がビルドと実行のサイクルが早いわけですが、片方しか更新されない(しかもどっちが更新されるかルールがまだよくわからない)ので、ビルドしたつもりでも書き込まれるのは古いHEXだったりすることがあったようです。(書き込む際にHEXファイルのタイムスタンプでも表示してくれれば気づくのですが、それもない)
かといって、別プログラムのPSoC Programmerを使わずに、PSoC Designerの組み込みのプログラマを使おうしても、先述の通り閉じないとDesignerの操作ができないのでウインドウは出したままにできないし、アイコン一発で書込みできるわけでもないので、ものすごく面倒くさいです。
まだまだ文句はあるのだけどこの辺にして、上記の苦闘6時間の末、とりあえずLEDチカチカできました。
8ピンのCY8C24123Aで出力端子2本にLEDを接続し、PWM16とPWM8でチカチカをさせました。
ソースはPSoCらしく非常に簡単で、設定はすべてプロパティで行うので、Start()のみです。
//—————————————————————————-
// C main line
//—————————————————————————-
#include // part specific constants and macros
#include “PSoCAPI.h” // PSoC API definitions for all User Modules
void main(void)
{
// M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts
// Insert your main routine code here.
PWM16_1_Start();
PWM8_1_Start();
}
ビルドに際しては、先述の様に今ひとつ上手くいかないです。
本来は、赤矢印の「Generate/Build Project」だけで上手くいくべきなのでしょうが、先述の通り、途中でDesignerが生成したバッチファイルの起動ができずにすっ飛ばしてしまうことがあります。そのため、Buildは青矢印の方を使って個別に行います。で、生成されたHEXファイルを書き込んで完了です。
今時、セキュリティ対策ソフトは欠かせないのですから、きちんと共存できるように作ってほしいものです。(本当はLinux版が欲しい所なのですが・・・)