主题中讨论的其他器件: MSP430FR2310
是的、RST 引脚通过47k 电阻上拉。
器件代码:#
#include
#pragma PERSISTENT (CHAN_COUNT)
#pragma PERSISTENT (睡眠者)
unsigned int cha_count = 0;
unsigned int Sleeper = 0;
//在 ISR 中完成所有操作
/**
* main.c 脉冲输出驱动
*
int main (空)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
DCOCTL = 0;//选择最低 DCOx 和 MODx
BCSCTL1 = 0x8F;
// BCSCTL1 = CALBC1_1MHz;//设置范围
// DCOCTL = CALDCO_1MHz;//设置 DCO 步长+调制
// IFG1 &=~OFIFG;
_DELAY_CYCLES (50);
P1DIR |= 0xFF;
P2DIR |= 0;
P2DIR |= BIT7;
P1OUT = 0;
P2IES = 0;
P2SEL = 0;
P2IE |= BIT6;
_bis_SR_register (GIE);
while (1)
{
if (睡眠者= 1)
{
_bis_SR_register (LPM0_bits | GIE);//输入 LPM3 w 中断
}
__no_operation();//进行调试
}
}
//更改脉冲宽度
//如果
#pragma vector=port2_vector
_interrupt void P2_ISR (void)
{
_BIC_SR_REGISTER_ON_EXIT (LPM0_BITS);//从0 (SR)清除 LPM3位
//P2OUT = BIT7;//到 ACK 的脉冲
//__delay_cycles (10);
//P2OUT &=~BIT4;
P2IFG = 0;//清除矢量
_DELAY_CYCLES (85);
开关(CHAN_COUNT)
{
情况0:
P1OUT |= BIT3;
_DELAY_CYCLES (120);
P1OUT &=~BIT3;
CHAN_COUNT++;
中断;
案例1:
P1OUT |= BIT2;
_DELAY_CYCLES (120);
P1OUT &=~BIT2;
CHAN_COUNT++;
中断;
案例2:
P1OUT |= BIT1;
_DELAY_CYCLES (120);
P1OUT &=~BIT1;
CHAN_COUNT++;
中断;
案例3:
P1OUT |= BIT0;
_DELAY_CYCLES (120);
P1OUT &=~BIT0;
CHAN_COUNT = 0;
睡眠者= 1;
中断;
默认值:
中断;
}
}
请勿更改客户端的其他设备。
我不明白为什么这会是个问题。 必须使用低功耗模式或电池耗尽、这适用于气流系统。
哦、对于"我们关心或不关心"部门。 我正在咨询的另一家大型(大型)公司、试图升级到大约260万个燃气流量计。