この記事では,PSoC4 Prototyping Kit(CY8CKIT-043)でUSB-UART-Brigeを使う手順を示します.この手順は,Cypressの「KitProg User Guide」に記載されている内容をピックアップしたものです.
必要なもの
- CY8CKIT-043
- PSoC Creator
サンプルプログラム
プロジェクトの作成
空のプロジェクトを作成します.
もし「Target hardware」に「CY8CKIT-043」が出てこない場合は,「Target device」で「CY8C4247AZI-M485」を選択します.
UART
回路図にUARTを追加します.
UARTの設定をします.UARTコンポーネントをダブルクリックして,通信速度などを設定します.ほとんどの場合,「Baud rate(bps)」の設定だけで十分だと思います.
## ビルドする
一度ビルドして,必要なソースコードなどを生成しておきます.
ピンアサインの設定
プロジェクト名.cydwr を開いて,ピンアサインを設定します.図のように設定をしておきます(重要).
Name | Port | Pin |
---|---|---|
UART_1:rx | P7[0] | 37 |
UART_1:tx | P7[1] | 38 |
main.c のサンプルプログラム
例えば,以下のようなプログラムを記述してみます.
int main()
{
CyGlobalIntEnable; /* Enable global interrupts. */
UART_1_Start();
UART_1_UartPutString("USB-UART");
UART_1_UartPutCRLF(1);
for(;;)
{
uint8 ch = UART_1_UartGetChar();
switch(ch){
case 0:
/* Nothing */
break;
case '?':
UART_1_UartPutString("Sample Program. ");
UART_1_UartPutCRLF(1);
break;
case '!':
CySoftwareReset();
break;
}
}
}
ビルド&書き込み
ビルドして,ボードに書き込みます.
ターミナルソフトで接続する
TeraTermなどのターミナルソフトで接続してみます.
シリアルポートに接続します.「KitProg」と表示されているポートを選択します.
通信速度の設定をします.
実行
実行を確認できます.「!」キーでボードのリセットが行われ,「USB-UART」と表示されます.「?」キーで「Sample Program.」と出力されます.
参考
よく使いそうな関数を示します.XXXがコンポーネント名です.
関数名 | 説明 |
---|---|
void XXX_Start(void) | 通信を開始する |
void XXX_Sleep(void) | コンポーネントをスリープモードにする |
void XXX_Wakeup(void) | コンポーネントをスリープモードから復帰させる |
void XXX_UartPutChar(uint32 data) | 1文字送信する |
void XXX_UartPutString(const char8 string[]) | 文字列送信する |
void XXX_UartPutCRLF(uint32 bytes) | 改行を送信する |
uint32 XXX_UartGetChar(void) | 1文字受信する |
uint32 XXX_UartGetByte(void) | 1バイト受信する |
- XXX_UartGetChar は,1文字を受信する.受信する文字がない場合は「0」が返される.
- XXX_UartGetByte は,1バイトを受信する.受信できなかった場合は,エラーコードが返される.
XXX_UartGetByteのエラーコード | 説明 |
---|---|
XXX_UART_RX_OVERFLOW | オーバーフロー |
XXX_UART_RX_UNDERFLOW | アンダーフロー |
XXX_UART_RX_FRAME_ERROR | フレームエラー |
XXX_UART_RX_PARITY_ERROR | パリティエラー |