📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{…
 
(同じ利用者による、間の2版が非表示)
399行目: 399行目:
<br><br>
<br><br>


== サンプルコード ==
以下の例では、タイマA0 CCR0の比較一致割り込み (CCR0の割り込みサービスルーチン) により、LEDを1秒ごとにトグルしている。<br>
<br>
タイマA0の設定を以下に示す。<br>
* CCR0の比較一致割り込みを有効する。
* CCR0に <math>32768 - 1</math> を設定して、1秒間隔で割り込みが発生するように設定する。 (ACLKは、32.768[kHz])
* タイマA0のクロックソースをACLKに設定して、アップモードで動作させる。
<br>
<syntaxhighlight lang="c">
#include <msp430.h>
#define LED_PIN BIT0  // LEDが接続されているピン (例: P1.0)
int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;  // ウォッチドッグタイマを停止
    P1DIR |= LED_PIN;          // LEDピンを出力に設定
    // タイマA0の設定
    TA0CCTL0 = CCIE;            // CCR0の比較一致割り込みを有効化
    TA0CCR0  = 32768 - 1;        // 1秒間隔 (ACLK = 32.768[kHz])
    TA0CTL  = TASSEL_1 | MC_1;  // ACLKを選択して、アップモード
    // 低電力モード3 (LPM3), 割り込みを有効化
    __bis_SR_register(LPM3_bits | GIE);
    // 空の操作 (コンパイラの最適化を防ぐため)
    __no_operation();
}
// タイマA0 CCR0の割り込みサービスルーチン
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A0_ISR(void)
{
    P1OUT ^= LED_PIN;  // LEDの状態を切り替え
}
</syntaxhighlight>
<br>
また、Timer_A3モジュールのタイマA0を使用する場合、Timer_A3モジュールの割り込みベクトル名は<code>TIMER0_A1_VECTOR</code>であるため、割り込みベクトル名を変更する必要がある。<br>
したがって、変更点は、割り込みサービスルーチンの宣言部分のみとなる。<br>
<syntaxhighlight lang="c">
#pragma vector=TIMER0_A1_VECTOR
</syntaxhighlight>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:MSP430]]
[[カテゴリ:MSP430]]