6.Advaced Topics(63P)のUSB-UART Brigeをやってみた
簡単に言うとUSBでパソコンとシリアル通信だ
シリアル通信はArduinoでもちょっとしたデバッグにとても役立つ
なので、これはおさえておくべきだと思う
ドキュメントに従ってやれば特に引っかかるところはなかったが
Top designでデフォルトだとUART(SCB)コンポーネントのコンポート名が「UART_1」になるので
main.cで「UART_XXXX」となっているところを「UART_1_XXXX」に修正しないと
コンパイルできない
Top designでコンポート名を「UART」にしてしまってもいいかもしれない
BuildしてProgramで書き込んだら(ステータスバーにReady...と表示される)
PSoC 4 Pioneer KitからUSBケーブルを引っこ抜いてUARTで通信するためにピンソケット間を配線する
<追記: 2015.11.03>PSoC 4 Pioneer Kitのボード上の配線図を追加。
DWRエディタ上のSCB:UART(RX/TX)のピンアサインにより3パターンあります。
</追記>
再びUSBケーブルをぶっさしてデバイスマネージャーの「ポート(COMとLPT)」に
KitProg USB-UART(COM***)と表示されていればOK
COM***の***部分はCOMポートの空き次第で数字が変わります
ドキュメントではハイパーテキストとPuttyの詳しい解説があったが
TeraTermの方が使い慣れてるのでTeraTermでやってみた
TeraTermの「新しい接続」でシリアルのKitProg USB-UARTのポートを指定して接続
メニューの「設定」-「シリアルポート設定」で以下のように設定
「設定」―「端末の設定」で「ローカルエコー」のところにチェックを入れる
このシリアル通信に使われているのはPSoC 4 Pioneer Kitに載っているPSoC 5 LPだ
本体のPSoC 4より立派な素子が使われている(^q^;
Arduinoだと通信用のATMega16U2は書き込みとUARTに専念しているが
このPSoC 5 LPはUART以外にI2CやSPIにも対応しているようだ
ボード上のピンソケットで配線し直してやらないといけないという手間はあるが
I2CやSPIのSlaveとしても動作できるみたいなのでアイデア次第では何かできるかもしれない
前回までの補足
cy_pinの割込み処理
前回のPSoC 4 Pioneer KitのExampleをやってみた(http://dad8893.blogspot.jp/2014/12/psoc-4-pioneer-kitexample.html)のProject:Deep SleepのところでISRへの紐づけをcy_pinでやるみたいに書きましたがこの場合は外部(ハード)割込みなのでTimerみたいなソフト割込み処理では違うやり方の方が適切だと思いますでも外部割込みをcy_pinに喰らわす方法はわかった
cy_pinのモジュールを右クリックして出てくるメニューから「Configure...」を選んで
図のようなところにある「Interrupt」を設定してやればいいみたいだ
CapSenseのTuner
ExampleのCapSenseのところに「Tuner」というUSB経由でPCにCapSenseの挙動を取り込む仕組みがあった
PSoC上でCapSenseの挙動を調べるのは大変そうなので
ありがたい仕組みだが、なぜだかちゃんと動かなかった
取り込めるんだがしばらくいじっているとTuner上でエラーが出る
切り分けが難しいのでCapSenseをまじめに使いたくなったら調べたいと思う
FreeRTOS
トラ技の増刊 開発編 ARM PSoCで作るMyスペシャル・マイコン (トライアルシリーズ)
(一時売り切れていたみたいだが今は売ってます)で、FreeRTOSを使う方法が紹介されていたが
FreeRTOSはPSoC 4(Cortex-M0)には対応していないようだ
これはデメリットでもあり、メリットでもある気がする
0 件のコメント:
コメントを投稿