0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MSP430F5507で38K

Last updated at Posted at 2016-12-26

以下のブログを参考に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を設定する。

MSP430-38K.jpg

さるのこしかけでキャプチャしたんですが時間の指標間違えています。いつか直します。

TA0CCR0を26にしてワンオクじゃなくてワンクロックが26uSで38Kくらいで、HIが18で18uSくらいになる。

P1.4もいっしょに出力すると、ワンクロックは同じ38KになるがTA0CCTL3,TA0CCR3でデューティ比は代えられる。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?