MSP430G2231产生PWM波

2019-03-24 13:58发布

如何用MSP430G2231产生150Kz的方波?求教各位大神,谢谢了 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
juring
1楼-- · 2019-03-24 16:31
不知道怎么插入代码,直接贴上来了~这是之前写的一个,两路PWM,一路5.6k,一路150k~ 你可以试试看~

#include  <msp430g2553.h>void main(void){   WDTCTL = WDTPW + WDTHOLD;                  // Stop WDT      BCSCTL2 = SELM_0 + DIVM_0 + DIVS_1; //2
    if (CALBC1_16MHZ != 0xFF)     {        DCOCTL = 0x00;        BCSCTL1 = CALBC1_16MHZ;      /* Set DCO to 16MHz */        DCOCTL = CALDCO_16MHZ;    }    BCSCTL1 |= XT2OFF + DIVA_0;    BCSCTL3 = XT2S_0 + LFXT1S_2 + XCAP_1;      P2SEL |= BIT0+BIT1;                        // P2.0 - P2.1 option select  P2DIR |= BIT0+BIT1;                        // PP.0 - P2.1 outputs  TA1CCTL0 = OUTMOD_4+ CCIE;                // TA1CCR0 toggle, interrupt enabled  TA1CCTL1 = OUTMOD_4+ CCIE;              // TA1CCR1 toggle, interrupt enabled
  TA1CTL = TASSEL_2 +  MC_2;          // SMCLK, Contmode, int enabled    _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt}
// Timer A0 interrupt service routine#pragma vector=TIMER1_A0_VECTOR__interrupt void Timer_A0 (void){  TA1CCR0 += 664;                              // Add Offset to CCR0 1.4k*4}
// TimerA1 Interrupt Vector (TA1IV) handler#pragma vector=TIMER1_A1_VECTOR__interrupt void Timer_A1(void){  switch( TA1IV )  {  case  2: TA1CCR1 += 27;                    // Add Offset to CCR1   150k           break; }}
hxunan
2楼-- · 2019-03-24 20:51
 精彩回答 2  元偷偷看……
zhin
3楼-- · 2019-03-24 22:45
拷来试试
hongyuo118
4楼-- · 2019-03-24 23:44
请问楼主我出来的频率是5.9K和146.5K是什么原因呢????
peter_zheng
5楼-- · 2019-03-25 01:26
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章