以下のブログを参考にMSP430で赤外線リモコンで使う38Kの信号を作ってみた。
使ったgccはplatformioに入っていた4.6.3です。
P1.5に出力する。
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1DIR |= BIT5;                            // P1.5 output
  P1SEL |= BIT5;                            // P1.5 options select
  TA0CCR0 = 26;                             // PWM Period
  TA0CCTL4 = OUTMOD_7;                      // CCR4 reset/set
  TA0CCR4 = 18;                             // CCR4 PWM duty cycle
  TA0CTL = TASSEL_2 + MC_1 + TACLR;         // SMCLK, up mode, clear TAR
  __bis_SR_register(LPM0_bits);             // Enter LPM0
  __no_operation();                         // For debugger
}
P1.5はTA0.4なので、TA0CCTL4,TA0CCR4を設定する。
さるのこしかけでキャプチャしたんですが時間の指標間違えています。いつか直します。
TA0CCR0を26にしてワンオクじゃなくてワンクロックが26uSで38Kくらいで、HIが18で18uSくらいになる。
P1.4もいっしょに出力すると、ワンクロックは同じ38KになるがTA0CCTL3,TA0CCR3でデューティ比は代えられる。
