Easy MCUser の スクリプト・マニュアル

  • Easy MCUser の スクリプト・マニュアル


このページでは、Easy MCUser で使用されるスクリプトについて説明します。各機能ごとに分類して、それぞれのスクリプトがどの様な GUI 操作で生成されるのか、そのスクリプトを実行すると、どの様なマイコン制御が出来るのか説明します。

MCU ダブ・パネル関連のスクリブト
REGs ダブ・パネル関連のスクリブト
CIREG adr. ダブ・パネル関連のスクリブト
PIO ダブ・パネル関連のスクリブト
SPI/I2C ダブ・パネル関連のスクリブト
Analog ダブ・パネル関連のスクリブト
PWM ダブ・パネル関連のスクリブト
LCD ダブ・パネル関連のスクリブト
条件分岐命令のスクリプト
関数の開始と終了を示すスクリプト


 
MCU ダブ・パネル関連のスクリブト】

AVRマイコンの「StandAlone MCU」を接続するためにこのラジオボタンで設定すると、下記のスクリプトが生成されます。
StandAlone_MCU_AVR


ARMマイコンの「Master MCU」を接続するためにこのラジオボタンで設定すると、下記のスクリプトが生成されます。
Master_MCU_ARM


AVRマイコンの「Slave MCU」を接続するためにこのラジオボタンで設定すると、下記のスクリプトが生成されます。
Slave_MCU_AVR


Easy MCUser がもっている機能毎に分類された各「タブパネル」のマウスでクリックして選択すると、下記のスクリプトが生成されます。
TabPanel_is_MCUMCU・タブパネル)
TabPanel_is_REGs
REGs・タブパネル)
TabPanel_is_CIREG_ADR
CIREGアドレス・タブパネル)
TabPanel_is_PIO
PIO・タブパネル)
TabPanel_is_SPI
SPI/I2C・タブパネル)
TabPanel_is_Analog
(アナログ・タブパネル)
TabPanel_is_PWM
PWM・タブパネル)
TabPanel_is_LCD
LCD・タブパネル)
TabPanel_is_Burst
(バースト・データ転送・タブパネル)


Fail Stop」チェック・ボックスをマウスでクリックして選択状態にすると、下記のスクリプトが生成されます。
FAIL_STOP_on


Fail Stop」チェック・ボックスをマウスでクリックして非選択状態にすると、下記のスクリプトが生成されます。
FAIL_STOP_off


Start Exe No.」テキスト・ボックス上で数値データを設定した後で「Tab」キー又は「Enter」キーを押下すると、下記のスクリプトが生成されます。
Set_Start_Exe_No


Slave No.」チェック・ボックスをマウスでクリックして選択状態にすると、下記のスクリプトが生成されます。
Slave_0_select_on
Slave_1_select_on
Slave_2_select_on
Slave_3_select_on
Slave_4_select_on
Slave_5_select_on
Slave_6_select_on
Slave_7_select_on


Slave No.」チェック・ボックスをマウスでクリックして非選択状態にすると、下記のスクリプトが生成されます。
Slave_0_select_off
Slave_1_select_off
Slave_2_select_off
Slave_3_select_off
Slave_4_select_off
Slave_5_select_off
Slave_6_select_off
Slave_7_select_off


CLR Scan」ボタンをマウスでクリックすると、下記のスクリプトが生成されます。
CLR_scan_slave


Slave Scan」ボタンをマウスでクリックすると、下記のスクリプトが生成されます。
Scan_Slave_MCU


StandAlone / Master MCU PinMap」設定グループの「Select Function」ポップアップ・メニューから、AVRマイコンが使用する機能の設定内容によって、下記のスクリプトが生成されます。
Select_Function_AVR_M
SPI_only_AVR_M
Motor_only_AVR_M
PWM_only_AVR_M
LCD_only_AVR_M
SPI_LCD_AVR_M
PWM_LCD_AVR_M


Slave MCU PinMap」設定グループの「Select Function」ポップアップ・メニューから選択した、AVRマイコンが使用する機能の設定内容によって、下記のスクリプトが生成されます。末尾の数字は、スレーブNo.で、"0""7"を示します。
Select_Function_AVR_S0-7
SPI_only_AVR_S0-7
Motor_only_AVR_S0-7
PWM_only_AVR_S0-7
LCD_only_AVR_S0-7
SPI_LCD_AVR_S0-7
SPI_LCD_AVR_S0-7


Connect」プルダウン・メニューをマウスでクリックすると、以下のスクリプトが生成されます。
Slect_USB_device


MCUダブパネルの説明へ

目次へ戻る




 
REGs ダブ・パネル関連のスクリブト】

REGs」タブパネル中にあるCIREGのアドレスを設定するために、チェック・ボックスをマウスでクリックした時に生成されるスクリプト群です。「IREG_00_access_on」はIREG_00のチェック・ボックスが有効になった時に生成されます。「IREG_00_access_off」はIREG_00のチェック・ボックスが無効になった時に生成されます。各CIREGのチェック・ボックス数だけ"on""off"の種類があります。
IREG_00_access_on
IREG_00_access_off
:
IREG_1F_access_on
IREG_1F_access_off


REGs」タブパネル中にあるCIREGのデータを仮想MCU内のレジスタへするために、テキスト・ボックス中にキーボードから16進数を入力後、「Tab」キーを押下,又は「Enter」キーを押下した時に生成されるスクリプト群です。各CIREGのテキスト・ボックスの数だけ"data_set"があります。
IREG_00_data_set
:
IREG_1F_data_set


REGs」タブパネル中にある「Select W/R」ポッフアップ・メニューをマウスで操作した時に生成されるスクリプト群です。「Select_IREG_Operation」はポッフアップ・メニューの初期状態を示します。「IREG_operation_is_WR」は、仮想 MCU IREG へデータを書き込む(ライト)動作をする時に使用します。「IREG_operation_is_RD」は、仮想 MCU IREG からデータを読み出す(リード)動作をする時に使用します。
Select_IREG_Operation
IREG_operation_is_WR
IREG_operation_is_RD


REGs」タブパネル中にあるCIREGのデータを仮想MCU内のレジスタへするために、テキスト・ボックス中にキーボードから16進数を入力後、「Tab」キーを押下,又は「Enter」キーを押下した時に生成されるスクリプト群です。
Comp_mode_is_XX_(Do'nt_care)
Comp_mode_is_IREG_=_CIREG
Comp_mode_is_IREG_>_CIREG
Comp_mode_is_IREG_<_CIREG
Comp_mode_is_IREG_<=_CIREG
Comp_mode_is_IREG_>=_CIREG


REGs」タブパネル中にある「Execute」ボタンを押下した時に生成されるスクリプトです。このスクリプトを実行すると、仮想 MCU に対して「Select W/R」ポッフアップ・メニューで設定された操作設定(データのライト、又はリード)を開始します。
Execute_IREG_ACCSESS


REGs」タブパネル中にある「CLR value」ボタンを押下した時に生成されるスクリプトです。
CLR_value_IREG


REGs」タブパネル中にある「Check all」ボタンを押下した時に生成されるスクリプトです。このスクリプトを実行すると、全ての CIREG のチェック・ボックスがマウスで有効状態にされた時と同じ状態になります。
Check_IREG_all


REGs」タブパネル中にある「CLR check」ボタンを押下した時に生成されるスクリプトです。このスクリプトを実行すると、全ての CIREG のチェック・ボックスがマウスで有効状態にされた時と同じ状態になります。
CLR_check_IREG


REGs」タブパネル中にある、TREG03のデータ幅を設定するための「Width」ポップアップ・メニューを操作した時に生成されるスクリプトです。TREG03のデータ幅を設定した後で、TREG03,若しくはIREGの間でデータの代入が出来る様になります。
TREG0_bit_31to24_data_set
TREG0_bit_23to16_data_set
TREG0_bit_15to8_data_set
TREG0_bit_7to0_data_set
TREG0_width
TREG0_width_is_8bit
TREG0_width_is_16bit
TREG0_width_is_16bit
TREG0_Shift_right_data
TREG0_Shift_left_data
TREG0_Increment_data
TREG0_Decrement_data
TREG0_decimal_data_set


REGs」タブパネル中にある、TREG03のデータ幅及びデータを初期状態にするための「CLR TREG」ボタンを押下した時に生成されるスクリプトです。このスクリプトを実行するとTREG03のデータ幅を設定した後で、TREG03,若しくはIREGの間でデータの代入が出来る様になります。
Clear_TREG


REGs」タブパネル中にある「Destination Reg.」ポッフアップ・メニューを操作した時に生成されるスクリプト群です。このスクリプトを実行すると、「REGs」タブパネル中にある「Destination Reg.」ポッフアップ・メニューで設定されたレジスタ名が転送先のレジスタとしてEasy MCUser に認識されます。「Destination Reg.」ポッフアップ・メニューで転送先が決定されると、「Source Reg.」が設定可能な状態となります。
Destination_is_TREG0
Destination_is_TREG1
Destination_is_TREG2
Destination_is_TREG3
Destination_reg_is_IREG


REGs」タブパネル中にある「Source Reg.」ポッフアップ・メニューを操作した時に生成されるスクリプト群です。このスクリプトを実行すると、「REGs」タブパネル中にある「Destination Reg.」ポッフアップ・メニューで設定されたレジスタ名へ「Source Reg.」ポッフアップ・メニューで設定されたレジスタのデータが転送されます。
Source_reg_is_TREG0
Source_reg_is_TREG1
Source_reg_is_TREG2
Source_reg_is_TREG3
Source_reg_is_IREG


目次へ戻る


 
CIREG adr. ダブ・パネル関連のスクリブト】

CIREG adr.」タブパネル中にある「CIREG address」チェック・ボックスをマウスで操作した時に生成されるスクリプト群です。
IREG_00_adr_on」は、「REGs」タブパネル中のIREG 0x00 の位置にあるチェック・ボックスのアドレスを「CIREG adr.」タブパネル中にある 0x00 の位置にあるチェック・ボックスのすぐ隣にあるテキスト・ボックスで指定したアドレスに置き換えます。
IREG_00_adr_off」は、「REGs」タブパネル中のIREG 0x00 の位置にあるチェック・ボックスのアドレスを「CIREG adr.」タブパネル中にある 0x00 の位置にあるチェック・ボックスのすぐ隣にあるテキスト・ボックスで指定したアドレスから、「REGs」タブパネル中のIREG 0x00(初期状態)に戻します。
同様に、CIREG の数だけ「IREG_xx_adr_on」と「IREG_xx_adr_off」があります。
IREG_00_adr_on
:
IREG_1F_adr_on

IREG_00_adr_off
:
IREG_1F_adr_off

IREG_00_adr_set
:
IREG_1F_adr_set


CIREG adr.」タブパネル中にある「CLR value」ボタンを押下した時に生成されるスクリプトです。このスクリプトを実行すると、「CIREG adr.」タブパネル中にある全ての「CIREG address」テキスト・ボックス中に設定された「CIREG」のアドレスに該当する値がクリアされます。
CLR_adr_IREG


目次へ戻る


 
PIO ダブ・パネル関連のスクリブト】

PIO」タブパネル中にある「CLR port」ポッフアップ・メニューを操作した時に生成されるスクリプト群です。このスクリプトを実行すると、「CLR port」ポッフアップ・メニューの操作が再現されます。
Select_CLR_port
Select_CLR_PORTB
Select_CLR_PORTC
Select_CLR_PORTD
Select_CLR_All_port


PIO」タブパネル中にある「CLR check」ボタンを押下した時に生成されるスクリプトです。
CLR_port_check_button


PIO」タブパネル中にある「CLR value」ボタンを押下した時に生成されるスクリプトです。
CLR_value_button


PIO」タブパネル中にある「Execute」ボタンを押下した時に生成されるスクリプトです。
PIO_set_execute


PIO」タブパネル中にある各ポート用のチェック・ボックスを操作した時に生成されるスクリプト群です。このスクリプトを実行すると、各ポートをビット単位で制御するポートを指定する操作が再現されます。「PORTB0_EDIT_on」は、「PORTBのビット"0"の制御を選択」した状態を示します。「PORTB0_EDIT_off」は、「PORTBのビット"0"の制御を非選択」にした状態を示します。全てのポートのビット番号に対して、「PORTxx_EDIT_on」と「PORTxx_EDIT_off」があります。
PORTB0_EDIT_on
:
PORTB7_EDIT_on

PORTB0_EDIT_off
:
PORTB7_EDIT_off

PORTC0_EDIT_on
:
PORTC7_EDIT_on

PORTC0_EDIT_off
:
PORTC7_EDIT_off

PORTD0_EDIT_on
:
PORTD7_EDIT_on

PORTD0_EDIT_off
:
PORTD7_EDIT_off


PIO」タブパネル中にある各ポート用のチェック・ボックスの右側にあるポップアップ・メニューを操作した時に生成されるスクリプト群です。このスクリプトを実行すると、各ポートをビット単位で入出力状態の指定操作が再現されます。「PORTB0_is_In_P_up」は、マイコンの「PORTBのビット"0"」に該当するピンをプルアップ抵抗付きの入力状態とした場合を示します。「PORTB0_is_In」は、マイコンの「PORTBのビット"0"」に該当するピンをプルアップ抵抗無しの入力状態とした場合を示します。「PORTB0_is_Out_L」は、マイコンの「PORTBのビット"0"」に該当するピンを出力モードにして出力電圧レベルを"Low"状態とした場合を示します。「PORTB0_is_Out_H」は、マイコンの「PORTBのビット"0"」に該当するピンを出力モードにして出力電圧レベルを"High"状態とした場合を示します。全てのポートのビット番号に対して、「PORTXx_is_In_P_up」,「PORTXx_is_In」,「PORTXx_is_Out_L」,「PORTXx_is_Out_H」があります。
PORTB0_is_In_P_up
:
PORTB7_is_In_P_up

PORTC0_is_In_P_up
:
PORTC7_is_In_P_up

PORTD0_is_In_P_up
:
PORTD7_is_In_P_up

PORTB0_is_In
:
PORTB7_is_In

PORTC0_is_In
:
PORTC7_is_In

PORTD0_is_In
:
PORTD7_is_In

PORTB0_is_Out_L
:
PORTB7_is_Out_L

PORTC0_is_Out_L
:
PORTC7_is_Out_L

PORTD0_is_Out_L
:
PORTD7_is_Out_L

PORTB0_is_Out_H
:
PORTB7_is_Out_H

PORTC0_is_Out_H
:
PORTC7_is_Out_H

PORTD0_is_Out_H
:
PORTD7_is_Out_H


PORTB0_INT_on
:
PORTB5_INT_on

PORTB0_INT_off
:
PORTB5_INT_off

PORTC0_INT_on
:
PORTC7_INT_on

PORTC0_INT_off
:
PORTC7_INT_off

PORTD0_INT_on
:
PORTD7_INT_on

PORTD0_INT_off
:
PORTD7_INT_off

Set_Interrupt_PIN


目次へ戻る


 
SPI/I2C ダブ・パネル関連のスクリブト】

SPI/I2C」タブパネル中にある「MSB first」ラジオボタンを選択した時に生成されるスクリプトです。
MSB_first_on


SPI/I2C」タブパネル中にある「LSB first」ラジオボタンを選択した時に生成されるスクリプトです。
LSB_first_on


SPI/I2C」タブパネル中にある「LeadingEdge=Rize / TrailingEdge=Fall」ラジオボタンを選択した時に生成されるスクリプトです。
Clock_Polarity_H


SPI/I2C」タブパネル中にある「LeadingEdge=Fall / TrailingEdge=Rize」ラジオボタンを選択した時に生成されるスクリプトです。
Clock_Polarity_L


SPI/I2C」タブパネル中にある「LeadingEdge=Latch / TrailingEdge=Setup」ラジオボタンを選択した時に生成されるスクリプトです。
Clock_Phase_LS


SPI/I2C」タブパネル中にある「LeadingEdge=Setup / TrailingEdge=Latch」ラジオボタンを選択した時に生成されるスクリプトです。
Clock_Phase_SL


SPI/I2C」タブパネル中にある「Select frequency」ポップアップ・メニューを選択した時に生成されるスクリプト群です。
Select_SPI_rate
Select_SPI_rate_8M
Select_SPI_rate_4M
Select_SPI_rate_2M
Select_SPI_rate_1M
Select_SPI_rate_500K
Select_SPI_rate_250K
Select_SPI_rate_125K


SPI/I2C」タブパネル中にある「Start IREG No. / Write data」ポップアップ・メニューを選択した時に生成されるスクリプト群です。
Select_SPI_reg
Select_SPI_reg0-7


SPI/I2C」タブパネル中にある「Start IREG No. / Write data」テキスト・フィールドへ任意の値を設定したときに生成されるスクリプト群です。「SPI_IREG_00_data_set」は、IREG0 へのデータ設定を実行する事を意味します。キーボード操作によって設定された値は、スクリプト中の「Val1」に格納されます。
SPI_IREG_00_data_set
:
SPI_IREG_07_data_set


SPI/I2C」タブパネル中にある「Slave address (Used for I2C) : 」テキスト・フィールドへ任意の値を設定したときに生成されるスクリプト群です。「Set_I2C_slave_address」は、アクセスしようとする I2C スレーブ・デバイスのアドレスを設定します。キーボード操作によって設定された値は、スクリプト中の「Val1」に格納されます。
Set_I2C_slave_address


SPI/I2C」タブパネル中にある「Transfer count」ポップアップ・メニューを選択した時に生成されるスクリプト群です。
Transfer_count
Transfer_count_is_1-8


SPI/I2C」タブパネル中にある「Set IREG by IREG pannel」ラジオボタンを選択した時に生成されるスクリプトです。
Select_SPI_trasfer_from_IREG


SPI/I2C」タブパネル中にある「Set IREG by this pannel」ラジオボタンを選択した時に生成されるスクリプトです。(Ver.2.0 以降に搭載)
Set_IREG_then_SPI_trasfer


SPI/I2C」タブパネル中にある「Execute」ボタンを押下した時に生成されるスクリプトです。
SPI_set_execute


目次へ戻る


 
Analog ダブ・パネル関連のスクリブト】

Analog」タブパネル中にある「Select ADC channel」ポップアップ・メニューを選択した時に生成されるスクリプト群です。「Select_ADC_ch_x」の"x"の部分は ADC のチャネルを示します。「Select_Temperature」は内部温度をAD変換した値を選択した事を示します。「Select_Vbg」はバンドギャップ電圧をAD変換した値を選択した事を示します。「Select_GND」グランド電位をAD変換した値を選択した事を示します。
Select_ADC_ch
Select_ADC_ch_0-7
Select_Temperature
Select_Vbg
Select_GND


Analog」タブパネル中にある「Start IREG No.」ポップアップ・メニューを選択した時に生成されるスクリプト群です。「ADC_Destination_regx」の"x"の部分は IREG の番号を示します。
Sampling mode」内の「One time」ラジオボタンを選択すると、このスクリプトを実行して設定した IREG No. に一回だけ AD 変換した値が格納される様になります。「Sampling mode」内の「Burst」ラジオボタンを選択すると、このスクリプトを実行して設定した IREG No. を先頭に、「Burst」テキストフィールドに設定された回数だけ+2 したIREG No. の番号へ次々と AD 変換した値が格納される様になります。「Sampling mode」内の「Continue」ラジオボタンを選択すると、このスクリプトを実行して設定した IREG No. を先頭に、IREG No.015までの番号へ「Stop」ボタンが押下されるまでの間、AD 変換した値が繰り返し上書き格納される様になります。
Select_ADC_Destination
ADC_Destination_reg0-14

Analog」タブパネル中にある「DIV_NUM」ポップアップ・メニューを選択した時に生成されるスクリプト群です。「ADC_CTC0_DivideVal_x」の"x"の部分は マイコンのクロックを何分周するかを示します。
ADC_CTC0_DivideVal
ADC_CTC0_DivideVal_1
ADC_CTC0_DivideVal_8
ADC_CTC0_DivideVal_64
ADC_CTC0_DivideVal_256
ADC_CTC0_DivideVal_1024


Analog」タブパネル中にある「Vref mode / Reference voltage」グループ内のラジオ・ボタンを選択した時に生成されるスクリプト群です。
Internal」を選択すると、「ADC_vref_is_Internal」スクリプトが生成され、このスクリプトを実行すると、「Execute」ボタンを押下した時に、 ADC の基準電圧が内部の基準電圧を使って AD変換が実行される様になります。「External」を選択すると、「ADC_vref_is_External」スクリプトが生成され、このスクリプトを実行すると、「Execute」ボタンを押下した時に、 ADC の基準電圧が外部の基準電圧を使って AD変換が実行される様になります。
ADC_vref_is_Internal
ADC_vref_is_External


Analog」タブパネル中にある「Sampling mode」グループ内のラジオ・ボタンを選択した時に生成されるスクリプト群です。
Sampling mode」内の「One time」ラジオボタンを選択すると、このスクリプトを実行して設定した IREG No. に一回だけ AD 変換した値が格納される様になります。「Sampling mode」内の「Burst」ラジオボタンを選択すると、このスクリプトを実行して設定した IREG No. を先頭に、「Burst」テキストフィールドに設定された回数だけ+2 したIREG No. の番号へ次々と AD 変換した値が格納される様になります。「Sampling mode」内の「Continue」ラジオボタンを選択すると、このスクリプトを実行して設定した IREG No. を先頭に、IREG No.015までの番号へ「Stop」ボタンが押下されるまでの間、AD 変換した値が繰り返し上書き格納される様になります。
ADC_Burst_mode_on
ADC_one_time_mode_on
ADC_Continue_mode_on


Analog」タブパネル中にある「Sampling mode」グループ内のラジオ・ボタンを選択した時に生成されるスクリプトです。
Sampling mode」内の「Burst」テキストフィールドに設定された回数だけ+2 したIREG No. の番号へ次々と AD 変換した値が格納される様になります。
Burst_count_set


Analog」タブパネル中にある「OCR0A」の値を設定した時に生成されるスクリプトです。設定された値は、スクリプト中の「Val1」に格納されます。
OCR0A_for_ADC_set


Analog」タブパネル中にある「Execute」ボタンを押下した時に生成されるスクリプトです。
ADC_conv_stop


Analog」タブパネル中にある「Stop」ボタンを押下した時に生成されるスクリプトです。
ADC_conv_start


目次へ戻る


 
PWM ダブ・パネル関連のスクリブト】

PWM」タブパネル中にある「Select Motor No.」ポップアップ・メニューを選択した時に生成されるスクリプト群です。
Select_Motor
Select_Tracking_Motor
Select_Elevation_Motor
Select_Direction_Motor


PWM」タブパネル中にある「Micro Step」ポップアップ・メニューを選択した時に生成されるスクリプト群です。「Micro_Step_is_x」の”x”は、ステッピング・モーターのマイクロステップ分解能を示します。
Select_Micro_Step
Micro_Step_is_4
Micro_Step_is_8
Micro_Step_is_16
Micro_Step_is_32


PWM」タブパネル中にある「DIV NUM」ポップアップ・メニューを選択した時に生成されるスクリプト群です。「DIV_NUM_is_x」の”x”は、タイマーの分周比率を示します。この値を変更する事で、ステッピング・モーターの基本回転速度を設定できます。
Select_DIV_NUM
DIV_NUM_is_1
DIV_NUM_is_8
DIV_NUM_is_64
DIV_NUM_is_256
DIV_NUM_is_1024


PWM」タブパネル中にある「Operating state」グループの「Sleep」チェックボックスを選択した時に生成されるスクリプト群です。
Motor_Sleep_on
Motor_Sleep_off


PWM」タブパネル中にある「Operating state」グループの「Enable」チェックボックスを選択した時に生成されるスクリプト群です。
Motor_Enable_on
Motor_Enable_off


PWM」タブパネル中にある「Direction of rotation」グループのラジオボタンを設定した時に生成されるスクリプト群です。
Rotaition_is_Left
Rotation_is_Right

PWM」タブパネル中にある「Rotation mode」グループのラジオボタンを設定した時に生成されるスクリプト群です。
Continue_mode_on
Step_mode_on


PWM」タブパネル中にある「Rotation mode」グループのテキスト・ボックスに値を設定した時に生成されるスクリプト群です。このスクリプトは、「Step_mode_on」が設定されている時にのみ有効となります。
MOTOR_step_count


PWM」タブパネル中にある「OCR1A」スライドバーを操作した時に生成されるスクリプト群です。
OCR1A_for_Motor_PWM_set
OCR1B_for_Motor_PWM_set


PWM」タブパネル中にある「Force stop」ボタンを押下した時に生成されるスクリプト群です。
CLR_Motor_setting


PWM」タブパネル中にある「Execute」ボタンを押下した時に生成されるスクリプト群です。
Execute_Mot_PWM_setting


目次へ戻る


 
LCD ダブ・パネル関連のスクリブト】

LCD」タブパネル中にある「LCD type」ポップアップ・メニューを選択した時に生成されるスクリプト群です。
LCD_is_16x2」は、16*2の表示領域を持つLCDを接続する時に設定します。「LCD_is_16x4」は、16*4の表示領域を持つLCDを接続する時に設定します。
Select_LCD_setting
LCD_is_16x2
LCD_is_20x4


LCD」タブパネル中にある「Cursor setting」ポップアップ・メニューを選択した時に生成されるスクリプト群です。
lcd_cursor_off」は、LCD上でカーソルを非表示にしたい時に設定します。「lcd_cursor_on」は、LCD上でカーソルを表示したい時に設定します。「llcd_cursor_blink_on」は、LCD上でカーソル位置のキャラクターを点滅したい時に設定します。
Select_cursor_condition
lcd_cursor_off
lcd_cursor_on
lcd_cursor_blink_on


LCD」タブパネル中にある「Edit mode」ポップアップ・メニューを選択した時に生成されるスクリプト群です。
Edit_mode_is_Set_immediately」は、「LCD」タブパネル中にある十字キーを押下した時に、すぐにカーソル位置を移動させたい場合に設定します。「Edit_mode_is_Move_then_Set」は、「LCD」タブパネル中にある十字キーを任意の回数だけ押下した後で、「Set cursor」ボタンを押下する事でカーソル位置を移動させたい場合に設定します。
Select_Cursor_edit_mode
Edit_mode_is_Set_immediately
Edit_mode_is_Move_then_Set


LCD」タブパネル中にある十字キーを押下した時に生成されるスクリプト群です。
Shift_Cursor_to_left」は、左側の十字キーを押下した時に生成されるスクリプトです。「Shift_Cursor_to_right」は、右側の十字キーを押下した時に生成されるスクリプトです。「Shift_Cursor_to_up」は、上側の十字キーを押下した時に生成されるスクリプトです。「Shift_Cursor_to_down」は、下側の十字キーを押下した時に生成されるスクリプトです。
Shift_Cursor_to_left
Shift_Cursor_to_right
Shift_Cursor_to_up
Shift_Cursor_to_down


LCD」タブパネル中にある「Go home」ボタンを押下した時に生成されるスクリプト群です。このスクリプトが実行されると、カーソルの位置がホーム・ポジション、すなわち左上に設定されます。
Set_Cursor_to_home


LCD」タブパネル中にある「Character ListBox」中の任意の行を選択した時に生成されるスクリプトです。選択した行の値は、スクリプト中の「Val1」に格納されます。
Select_LCD_Char_from_List


LCD」タブパネル中にある「Load Char」ボタンを押下した時に生成されるスクリプト群です。このスクリプトが実行されると、LCD表示様にあらかじめ用意されたキャラクター群が格納されているファイル(LCD_character.txt)が Easy MCUser に読み込まれます。
Load_Char_to_LCD_ListBox


LCD」タブパネル中にある「Set cursor」ボタンを押下した時に生成されるスクリプト群です。このスクリプトは、「Edit_mode_is_Move_then_Set」スクリプトが実行されているか、操作パネル上の「Edit mode」ポップアップ・メニューが「Move then set」の状態の時に有効となります。
Set_Cursor_to_current_XY


LCD」タブパネル中にある「Set char.」ボタンを押下した時に生成されるスクリプト群です。このスクリプトを実行すると、「Character ListBox」中にある選択状態の行をLCDの現在のカーソル位置へ表示します。
Set_Char_to_current_cursor


目次へ戻る


 
【条件分岐命令のスクリプト】

条件分岐命令を示すスクリプト群です。左辺のレジスタの値と右辺のレジスタの値を「<>」,「=」,「>」,「>=」,「<」,「<=」で示される等号/不等号・記号で比較した結果、条件が合致すると「Fail count」を+1 します。下記の例は、左辺が「TREG0」ですが、その他にもTREG1TREG2TREG3などがあります。
If_TREG0_<>_IREG_then_Fail
If_TREG0_=_IREG_then_Fail
If_TREG0_>_IREG_then_Fail
If_TREG0_>=_IREG_then_Fail
If_TREG0_<_IREG_then_Fail
If_TREG0_<=_IREG_then_Fail
If_TREG0_<>_TREG1_then_Fail
If_TREG0_=_TREG1_then_Fail
If_TREG0_>_TREG1_then_Fail
If_TREG0_>=_TREG1_then_Fail
If_TREG0_<_TREG1_then_Fail
If_TREG0_<=_TREG1_then_Fail
If_TREG0_<>_TREG2_then_Fail
If_TREG0_=_TREG2_then_Fail
If_TREG0_>_TREG2_then_Fail
If_TREG0_>=_TREG2_then_Fail
If_TREG0_<_TREG2_then_Fail
If_TREG0_<=_TREG2_then_Fail
If_TREG0_<>_TREG3_then_Fail
If_TREG0_=_TREG3_then_Fail
If_TREG0_>_TREG3_then_Fail
If_TREG0_>=_TREG3_then_Fail
If_TREG0_<_TREG3_then_Fail
If_TREG0_<=_TREG3_then_Fail


条件分岐命令を示すスクリプト群です。左辺のレジスタの値と右辺のレジスタの値を「<>」,「<」で示される不等号・記号で比較した結果、条件が合致すると「End_While」まで実行後、次の行を実行します。条件が合致するまでの間は、「While_(xxxxxxx)」で示されるループの先頭から「End_While」で示されるループの最終行の間を無制限に繰り返し実行します。下記の例は、左辺が「Fail count」,右辺が「MREG」ですが、その他にもTREG1TREG2TREG3などがあります。
While_(Fail_count_<_MREG)
While_(Fail_count_<>_MREG)

While_(TREG0_<>_MREG)
While_(TREG0_<>_TREG1)
While_(TREG0_<>_TREG2)
While_(TREG0_<>_TREG3)
End_While


条件分岐命令を示すスクリプト群です。直前の「Fail count」の値を評価した結果、「Fail count」の値によって次の行を実行するか否か判断します。
If_True_then_Execute_Below」は、直前の「Fail count」の値が"0"の時に、次の行から「End_If」の間のスクリプトを順に実行します。「If_False_then_Execute_Below」は、直前の「Fail count」の値が"1"以上の時に、次の行から「End_If」の間のスクリプトを順に実行します。
If_True_then_Execute_Below
If_False_then_Execute_Below
End_If


ジャンプ命令を示すスクリプト群です。「Go_to_Label_line」のある行から、ペアとなる「Go_to_label」行へ無条件にジャンプします。機能としては実装されていますが、多用するとジャンプだらけとなり、スクリプトの可読性と汎用性が低くなるため、あまり使わない方が良いです。
Go_to_Label_line
Go_to_label


代入命令を示すスクリプト群です。左辺の「Next_Val1 」は、この命令の次の行のスクリプト中にある「Val1 」(数値を示すパラメーター)です。以下の代入命令を実行すると、次の行の「Val1 」に対して現在の「TREG0」の値を代入します。代入するレジスタには、「TREG0」以外に「TREG1」,「TREG2」,「TREG3」,「MREG」があります。
このスクリプトにより、「条件分岐命令」と組み合わせて、値を変えて仮想MCU へ送信するデータの値を(すなわち、レジスタに設定する値)を変える事が出来る様になります。例えば、PWMによって明るさを制御する値を設定するスクリプトの直前の行にこのスクリプトを挿入しておけば、明るさを検知するセンサーから得たアナログ値を「条件分岐命令」で閾値を判断し、ある値以上であった場合は、LEDを点灯したり消灯したりするといった制御に使えます。
Next_Val1 = TREG0
Next_Val1 = TREG0[31:24]
Next_Val1 = TREG0[23:16]
Next_Val1 = TREG0[15:8]
Next_Val1 = TREG0[7:0]

Next_Val1 = MREG
Next_Val1 = MREG[31:24]
Next_Val1 = MREG[23:16]
Next_Val1 = MREG[15:8]
Next_Val1 = MREG[7:0]


目次へ戻る
 
【関数の開始と終了を示すスクリプト】

スクリプトの開始位置と終了位置を示すスクリプト群です。
Inherit_REG_values」チェックボックスにチェックを入れない状態で Easy MCUser が「Start_of_script」の行を検出すると、「Start_of_script」の直前のレジスタの値を「End_of_script」を実行するまでスタックしておき、「End_of_script」の行を実行する時にスタックしておいたレジスタの値を復帰します。言い換えれば「Start_of_script」と「End_of_script」で囲まれた範囲でレジスタの値(「TREG03」,「MREG」,「IREG01F」の全てのレジスタ)がローカル変数として使用される事になります。これらは、ユーザーが意識する事無く、自動的に実行されます。
この機能により、他人が作成したスクリプトを自分の作成したスクリプトに取り込む際、レジスタの使い方や状態を意識しないでスクリプトを取り込む事が出来る様になります。

Start_of_script」の行でInherit_REG_values」のチェックボックスにチェックが入れられている事を Easy MCUser が検出すると、直前のスクリプト行で確定したレジスタの状態がそのまま継承されます。(Ver.2.0 以降に搭載)

End_of_script」の行でInherit_REG_values」のチェックボックスにチェックが入れられている事を Easy MCUser が検出すると、直前のスクリプト行で確定したレジスタの状態がそのまま継承されます。(Ver.2.0 以降に搭載)
Start_of_script
End_of_script


目次へ戻る