请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:MSP430FR2311 大家好,
我现在正在使用FR2311,MCLK = 16MHz来开发SW SPI代码(slaver),我发现CPU的成本接近1美元,以响应ISR(CPU TOB, 1.1 WFP 2.0 Capture)。
听起来有点长
这是否正常? 希望 有人帮忙。
谢谢...
#include <msp430fr2311.h>
void main( void )
{//
停止监视计时器以防止超时复位
WDTCTL = WDTPW + WDTHOLD;
FRCTL0 = FRCTLPW | NWITS_1;
__bis_sr_register (SCG0); //禁用FLL
CSCTL3 |= SELREF_REFCLK; //将REFO设置为FLL参考源
CSCTL0 = 0; //清除DCO和MOD寄存器
CSCTL1 &=~(DCORSEL_7); //清除DCO频率选择位优先
CSCTL1 |= DCORSEL_5; // SET DCO = 16MHz
CSCTL2 = FLLD_0 + 487; // DCOCLKDIV = 16MHz
__DELAY_CYCLES (3);
__BIC_SR_REGISTER (SCG0); //启用FLL
while (CSCTL7和(FLLUNLOCK0 | FLLUNLOCK1)); // FLL已锁定
CSCTL4 = SELMS__DCOCLKDIV |拉美经济体系__REFOCLK; //将默认的REFO(~3.2768万Hz)设置为ACLK源,ACLK = 3.2768万Hz
//默认的DCOCLKDIV设置为MCLK和SMCLK源
P1DIR || BIT0; //WFP 1.0 输出
P2DIR &=~BIT0; //WFP 2.0 作为端口
P2SEL0 |= BIT0;
PM5CTL0 &=~LOCKLPM2; //禁用GPIO通电默认高阻抗模式
//以激活先前配置的端口设置
TB1CCTL1 |= CM_1 | CCIS_0| CCIE | CAP | SCS;
TB1CTL |= TBSSEL_2 | MC_2 | TBCLR; //使用SMCLK作为时钟源,清除TB0R
__bis_sr_register(LPM0_bits | GIE);
__no_operation();
}
#pragma vector = Timer1_B1_vector
__interrupt void Timer1_B1_ISR(void)
{
P1OUT ^= BIT0;
TB1CCTL1&=~CCIFG;
}
