您好、TI 帮助者、
我想在 P6.0引脚上生成高电平和低电平。 但是、当我通过万用表进行测量时、我无法获得它。 在 CCS 调试模式下、我可以看到 P6.0变为高电平和低电平。 程序正在成功上载。
我在 P2.2上尝试过的同一程序、我已连接继电器、它工作正常。 但我无法在万用表中获得正确的结果。 我还在 DSO 中检查了波形。 我已检查万用表和 DSO 是否正常工作。
在 P6.0上发送高电平和低电平的程序
#include "msp430fr2355.h"
#include "stdint.h"
void main()
{
WDTCTL = WDTPW + WDTHOLD;//停止 WDT
_DELAY_CYCLES (1000000);
init_clocks ();
P6DIR |= BIT0;
P6OUT &=~BIT0;
while (1)
{
P6OUT |= BIT0;
_delay_cycles (25000000);
P6OUT &=~BIT0;
_delay_cycles (25000000);
}
}
void init_WDT (void)
{
WDTCTL = WDT_MDLY_32;//从1MHz 到 SMCLK 的 WDT 32ms 间隔定时器
SFRIE1 |= WDTIE;//启用 WDT 中断
}
void Init_clocks (void)
{
FRCTL0 = FRCTLPW | NWAITS_2;
_bis_SR_register (SCG0);//禁用 FLL
CSCTL3 |= SELREF_REFOCLK;//将 REFO 设置为 FLL 基准源
CSCTL0 = 0;//清除 DCO 和 MOD 寄存器
CSCTL1 |= DCORSEL_7;//设置 DCO = 24MHz
CSCTL2 = FLLD_0 + 731;// DCOCLKDIV = 24MHz
_DELAY_CYCLES (3);
_BIC_SR_register (SCG0);//启用 FLL
while (CSCTL7 &(FLLUNLOCK0 | FLLUNLOCK1));// FLL 锁定
CSCTL4 = SELMS_DCOCLKDIV | SELA_REFOCLK;//将默认 REFO (~32768Hz)设置为 ACLK 源、ACLK = 32768Hz
//默认 DCOCLKDIV 为 MCLK 和 SMCLK 源
}