|
这是我的程序
#include "msp430.h"
#include "define.c"
void main()
{
unsigned long i;
_BIC_SR(0xFFFF);
DCOCTL=0x83; //DCOCLK频率1.25MHz
WDTCTL=WDTPW+WDTHOLD; //关闭看门狗定时
BCSCTL1&=~XT2OFF; //打开XT2
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while (IFG1 & OFIFG); // OSCFault flag still set
BCSCTL2|=(SELM_2+DIVM_2+SELS); //SMCLK选择xt2,选择结果是ACLK=32768,SMCLK=5MHz,MCLK=1.25MHz(5M四分频)
IFG1&=~(WDTIFG+OFIFG+NMIIFG+PORIFG+RSTIFG); //中断标志清零
FCTL3=FWKEY; //ACCVIFG清零
IE1|=OFIE+NMIIE+ACCVIE; //中断初始化设置
P8SEL &= ~IrCTRL;
P8DIR &= ~IrCTRL;
P8SEL&=~(POC2+POC1+WR);
P8OUT&=~(POC2+POC1+WR);
P8DIR|=(POC2+POC1+WR);
// P8OUT|=POC1;
P8OUT|=POC2;
// P8OUT|=WR;
while(1);
}
其中
#define IrCTRL BIT3
#define POC1 BIT5
#define POC2 BIT4
#define WR BIT2
当我只操作P8.3时,P8.3能正常输出和输入。
当我将P8.4配置为输出时,我给P8.4输出一个高电平,从P8.3读到的也是高电平,三块电路板都是这样,我也是醉了 |
|