cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

New Contributor II

PSoC4SシリーズのUART(SCB mode)のDirection[TX only,RX only,TX   RX]の動的な切り替え方法を教えてください。

初期設定で「TX only」とし、動作中に「RX only」に切り替えるときは、

どのような初期設定および、プログラムを作ればよいでしょうか。

同様に、「RX only」から「TX only」、や「TX + RX」に切り替えるには

どのようにすればよいですか?サンプルプログラムはありませんか?

例えば、「TX only」の時は下記のような使い方になります。

1)Compornetの設定画面で、添付画面の設定を実施

2)UART_1_Start();

3)UART_1_UartPutChar(1); // 実際の送信

この後、「RX only」に切り替える方法、

また、さらにその後、再び「TX only」に戻す方法を教えてください。

0 Likes
Reply
1 Solution
Moderator
Moderator

SCB_UartInit(SCB_UART_INIT_STRUCT *config) を使用し、TX only, RX only, TX +RXの切り替えが可能です。

SCB component Datasheetに、SCB_UartInit(SCB_UART_INIT_STRUCT *config)の記述がございます。

uint 32 directionのフィールドを以下のように指定してください。

TX onlyであれば、SCB_UART_TX

RX onlyであれば、SCB_UART_RX

TX + RXであれば、SCB_UART_TX_RX をご使用ください。

PSoC 4 Serial Communication Block (SCB) | Cypress Semiconductor

サンプルプログラムですが、SCB V4.0 DatasheetのPage9 - Page11にてreconfigurationの方法が書かれています。

ご参考までに参照いただければと思います。

http://www.cypress.com/file/408071/download

Best regards,

Hirotaka Takayama

View solution in original post

0 Likes
Reply
1 Reply
Moderator
Moderator

SCB_UartInit(SCB_UART_INIT_STRUCT *config) を使用し、TX only, RX only, TX +RXの切り替えが可能です。

SCB component Datasheetに、SCB_UartInit(SCB_UART_INIT_STRUCT *config)の記述がございます。

uint 32 directionのフィールドを以下のように指定してください。

TX onlyであれば、SCB_UART_TX

RX onlyであれば、SCB_UART_RX

TX + RXであれば、SCB_UART_TX_RX をご使用ください。

PSoC 4 Serial Communication Block (SCB) | Cypress Semiconductor

サンプルプログラムですが、SCB V4.0 DatasheetのPage9 - Page11にてreconfigurationの方法が書かれています。

ご参考までに参照いただければと思います。

http://www.cypress.com/file/408071/download

Best regards,

Hirotaka Takayama

View solution in original post

0 Likes
Reply