こんにちは。NoMaYです。TB-RX65N/RX130/RX231のCS+のサンプルプログラムです。まずはデバッグコンソール出力のサンプルです。(サンプルプログラム置き場とGitHubに置きました。)japan.renesasrulz.com/cafe_rene/m/sample_program/460github.com/NoMaY-jp/RX_SmartConfigurator_examples_RXTB_CSplus/tree/cafe_rene/10_DebugConsole_printf
int main(void){ LED0 = LED_ON; for (;;) { printf( "Hello World\r\n" ); R_BSP_SoftwareDelay( 1000, BSP_DELAY_MILLISECS ); LED0 = ~LED0; R_BSP_SoftwareDelay( 1000, BSP_DELAY_MILLISECS ); LED0 = ~LED0; }}
こんにちは。NoMaYです。TB-RX65N/RX130/RX231のCS+のサンプルプログラムです。UART出力のサンプルを追加しました。(サンプルプログラム置き場とGitHubに置きました。)japan.renesasrulz.com/cafe_rene/m/sample_program/460github.com/NoMaY-jp/RX_SmartConfigurator_examples_RXTB_CSplus/tree/cafe_rene/30_UART_Printf
R_CONFIG_SCI_SEND_IMPL( SCI1, 128 /* transmit buffer size */ );11/08変更U_CONFIG_UART_PRINTF_IMPL( SCI1, 128 /* transmit buffer size */ );int main(void){ LED0 = LED_ON; for (;;) { Printf( SCI1, "Hello World\r\n" ); R_BSP_SoftwareDelay( 1000, BSP_DELAY_MILLISECS ); LED0 = ~LED0; R_BSP_SoftwareDelay( 1000, BSP_DELAY_MILLISECS ); LED0 = ~LED0; }}
なお、Config_ext.hというヘッダをプロジェクトに追加して、r_cg_macrodriver.hの中からインクルードして下さい。(このヘッダにはパズルのようなマクロを記述してありますが、ちょっと初学者向きでは無いですので、説明は省略します。すみません。) また、Config_ext.hは、どのSCIチャンネルでも使用出来るようになっていますが、サンプルプログラムで使用しているSCIチャンネル以外を使用する場合は、予め、使用するSCIコンポーネントをRXスマートコンフィグレータで生成しておいて下さい。プロジェクトツリー: File/Smart Configurator/general/r_cg_macrodriver.h変更内容: 赤文字箇所を追加
/******************************************************************************Global functions******************************************************************************/void R_Systeminit(void);/* Start user code for function. Do not edit comment generated here */#include "Config_ext.h"/* End user code. Do not edit comment generated here */
実行例: (なお、写真は別プロジェクトのもので、本プロジェクトでは光るLEDは左側のみです。)
IKUZOさん、こんにちは。NoMaYです。デバッグコンソールで両方向通信も可能です。RXスマートコンフィグレータ(というかFIT BSPモジュール)+CC-RXで、例えば、以下のような普通のC言語プログラムで可能です。(ただし、普通のC言語プログラム同様に入力待ちで処理が止まりますので、FIT BSPモジュールの下層を見たくない場合はRTOSで入力待ちのタスクを作るか、RTOSを使いたくない場合はFIT BSPモジュールのソースを参考にして入力存在確認関数を作るか、そういったことをする必要が出てくるかとは思います。)プログラム例のソース:
int main(void){ char c; for (;;) { printf( "Please enter one digit number>\r\n" ); c = getchar(); printf( "\r\nNow %c is entered.\r\n\r\n", c ); }}
プログラム例の実行画面:FIT BSPモジュールの下層の処理:github.com/renesas/rx-driver-package/blob/153ad87/source/r_bsp/r_bsp_vx.xx/r_bsp/mcu/all/lowlvl.c
IKUZOさん、こんにちは。NoMaYです。> これはE1とかE2のエミュレータの配線を使用して通信しているわけなんでしょ?そうです。ただ、以下の欠点もありますので、それを踏まえておく必要はあるかと思います。(1) あまり速くは無い。きちんと計っていないが数十Kbps~数Kbpsぐらいっぽい(2) DMA/DTCによる転送が出来ないので送受信中はCPUに負担を掛ける(3) パソコン側のターミナルソフトを自作することが出来ない