「STM32/e-BASiC」の編集履歴(バックアップ)一覧はこちら

STM32/e-BASiC」(2010/05/02 (日) 21:42:22) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*e-BASiC (準備中) 汎用入出力やタイマー、COM ポート、アナログ入力にラベルを付けて、ラベルの組合せで簡単にハードを制御しちゃおうといった意図のインタプリタ言語です。 Design Wave Magazine 2008年5月号の付録基板(CQ-STARM)で動作します。 **文法 ---- ***入出力ポート [PORT] - ポートは A ~ E まであり、次のように指定します。 #html2(){<pre><strong><tt>GPIOA ~ GPIOE</tt></strong></pre>} - 数字でも指定できます。 #html2(){<pre><strong><tt>PORT0 ~ PORT4</tt></strong></pre>} ---- ***ピン番号 [PIN_NO] - ピン番号は 0 ~ 15 まであり、次のように指定します。 #html2(){<pre><strong><tt>PIN0 ~ PIN15</tt></strong></pre>} - ポートの後であれば数字のみでも指定できます。 #html2(){<pre><strong><tt>ポートAの5番ピン ⇒ GPIOA 5</tt></strong></pre>} ---- ***ポート+ピン番号 [PIN_NAME] - 次のように同時に指定もできます。 #html2(){<pre><strong><tt>ポート0の0番ピン ⇒ P0.0 ポートBの15番ピン ⇒ PB.15</tt></strong></pre>} ---- ***入出力の指定 [IN|OUT] ---- ***プルアップ/プルダウンの指定 [PULLUP|PULLDOWN] ---- ***汎用入出力(GPIO) #html2(){<pre><strong><tt>LABEL: [PORT] [PIN_NO] [IN|OUT] ([PULLUP|PULLDOWN]) LABEL: [PIN_NAME] [IN|OUT] ([PULLUP|PULLDOWN])</tt></strong></pre>} - 例:デジタル出力ピンの定義 #html2(){<pre><strong><tt>LED1: GPIOC 6 OUT</tt></strong></pre>} - 例:デジタル入力ピンの定義 #html2(){<pre><strong><tt>BTN1: PD.08 IN PULLUP</tt></strong></pre>} ---- ***バス入出力(DATA) #html2(){<pre><strong><tt>LABEL: DATA [PORT] [PIN_NO]...[PIN_NO] [IN|OUT] ([PULLUP/PULLDOWN])</tt></strong></pre>} - 例: データ出力の定義 #html2(){<pre><strong><tt>SEG7: DATA GPIOD 0 1 2 3 4 5 6 7 OUT SEG7: DATA GPIOD 0..7 OUT</tt></strong></pre>} - 例: データ入力の定義 #html2(){<pre><strong><tt>DBUS: DATA GPIOD 0 1 2 3 IN PULLDOWN</tt></strong></pre>} ---- ***アナログ入力(ANALOG) ---- ***タイマー(TIMER) ---- ***外部割り込み(EXTI) ---- ***PWM(PWM) ---- ***UART ポート入出力(UART) #html2(){<pre><strong><tt>LABEL: UART [UART_NO] [UART_SPEED] (NUMBER)</tt></strong></pre>} - &b(){UART_NO} ... UART ポート番号、0 の場合 PC との通信ポート - &b(){UART_SPEED} ... 9600/19200/38400/57600/112000 等の数値を指定 - &b(){NUMBER} ... オプション - 参照: 入力がない場合、-1 を返す - 代入: UART ポートへ数値を出力 (下位 8bit が有効) - 例:UART ポート 1 を 19200bps でオープン #html2(){<pre><strong><tt>COM1: UART 1 19200</tt></strong></pre>} **ピン配置 #image(stm32_pins.png)
*e-BASiC (準備中) 汎用入出力やタイマー、COM ポート、アナログ入力にラベルを付けて、ラベルの組合せで簡単にハードを制御しちゃおうといった意図のインタプリタ言語です。 Design Wave Magazine 2008年5月号の付録基板(CQ-STARM)で動作します。 **文法 ---- ***入出力ポートの指定 [PORT] - ポートは A ~ E まであり、次のように指定します。 #html2(){<pre><strong><tt>GPIOA ~ GPIOE</tt></strong></pre>} ***ピン番号の指定 [PIN_NO] - ピン番号は 0 ~ 15 まであり、次のように指定します。 #html2(){<pre><strong><tt>PIN0 ~ PIN15</tt></strong></pre>} - ポートの後であれば数字のみでも指定できます。 #html2(){<pre><strong><tt>ポートAの5番ピン ⇒ GPIOA 5</tt></strong></pre>} ***入力/出力の指定 [IN|OUT] - ラベルで定義するピンが入力か出力かを指定します。 ***プルアップ/プルダウンの指定 (PULLUP|PULLDOWN) - ラベルを入力で定義したとき、プルアップさせるかプルダウンさせるかを指定します。 - どちらでもない場合、何も指定しません。 ---- ***汎用入出力(GPIO) #html2(){<pre><strong><tt>LABEL: [PORT] [PIN_NO] [IN|OUT] (PULLUP|PULLDOWN)</tt></strong></pre>} - 参照: そのピンの状態が Low なら 0 を返し、High なら 1 を返します。 - 代入: そのピンの状態に 0(Low) か 1(High) を設定します。 (出力ピンのみ有効) - 例:デジタル出力ピンの定義 #html2(){<pre><strong><tt>LED1: GPIOC PIN6 OUT</tt></strong></pre>} - 例:デジタル入力ピン(プルアップ)の定義 #html2(){<pre><strong><tt>BTN1: GPIOD 8 IN PULLUP</tt></strong></pre>} ***バス入出力(DATA) #html2(){<pre><strong><tt>LABEL: DATA [PORT] [PIN_NO]...[PIN_NO] [IN|OUT] (PULLUP/PULLDOWN)</tt></strong></pre>} - ピン番号は下位から指定します。 - 参照: そのバスの状態を返します。 - 代入: そのバスの状態を設定します。 - 例: データ出力の定義 #html2(){<pre><strong><tt>SEG7: DATA GPIOD 0 1 2 3 4 5 6 7 OUT SEG7: DATA GPIOD 0..7 OUT</tt></strong></pre>} - 例: データ入力の定義 #html2(){<pre><strong><tt>DBUS: DATA GPIOD 0 1 2 3 IN PULLDOWN</tt></strong></pre>} ***アナログ入力(ANALOG) ***タイマー(TIMER) ***外部割り込み(EXTI) ***PWM(PWM) ***UART ポート入出力(UART) #html2(){<pre><strong><tt>LABEL: UART [UART_NO] [UART_SPEED] (NUMBER)</tt></strong></pre>} - &b(){UART_NO} ... UART ポート番号、0 の場合 PC との通信ポート - &b(){UART_SPEED} ... 9600/19200/38400/57600/112000 等の数値を指定 - &b(){NUMBER} ... オプション - 参照: 入力がない場合、-1 を返す - 代入: UART ポートへ数値を出力 (下位 8bit が有効) - 例:UART ポート 1 を 19200bps でオープン #html2(){<pre><strong><tt>COM1: UART 1 19200</tt></strong></pre>} ---- ***ループの定義(LOOP) ---- **コマンド ***ラベルの参照(PRINT) #html2(){<pre><strong><tt>PRINT [LABEL]</tt></strong></pre>} - LABEL で定義されているラベルの参照値を表示します。 ***ループの実行(RUN) #html2(){<pre><strong><tt>RUN [LABEL] [LABEL] (ARG)</tt></strong></pre>} - LABEL で定義されているループを実行します。 - RUN は省略できます。 - 引数を指定できます。 - 例: #html2(){<pre><strong><tt>HEX 30</tt></strong></pre>} ---- **ピン配置 #image(stm32_pins.png)

表示オプション

横に並べて表示:
変化行の前後のみ表示:
人気記事ランキング
目安箱バナー