yufe 发表于 2022-8-6 12:22

怎么设置才能做到?

现在要使用P4.5 P4.4.作为普通输出口,怎么设置才能做到?

dengdc 发表于 2022-8-6 12:24

你得问题是什么

juventus9554 发表于 2022-8-6 12:27

在程序开始设置 P4M0 P4M1 为 0,发现P4.2 P4.3 可以输出,P4.4.P4.5无法输出

pengf 发表于 2022-8-6 12:30

由于P4.4/P4.5 Pin的Reset后Default设定为OCD_ICE功能,因此如不要OCD_ICE功能后,需要使用P4.4/P4.5 Pin的话,需要在程序一开始就设定Disable OCD ICE功能在P4.4/P4.5

yufe 发表于 2022-8-6 12:32

设定方式是什么养的

dengdc 发表于 2022-8-6 12:34


ISPCR=0x80;
IFMT=0x07;    //#AUXRA_Rd ;set read AUXRA command
SCMD=0x46;
SCMD=0xB9;
Data=IFD;
//Data|=0x20;      //AUXRA.5=1 enable OCD_ICE on P4.4/P4.5
Data&=0x04;      //AUXRA.5=0 disable OCD_ICE on P4.4/P4.5
IFD=Data;
IFMT=0x06;//AUXRA_Wr ;set write AUXRA command
SCMD=0x46;
SCMD=0xB9;
ISPCR=0x00;

yufe 发表于 2022-8-6 12:37

我是把上面的程序放在我的主程序里的一开头的位置了,但是没有实现我想要的P4.4和P4.5为 准双向口啊?

renyaq 发表于 2022-8-6 12:39

代码看看

jiajs 发表于 2022-8-6 12:44


sbit Led1= P4^4;
sbit Led2= P4^5;
void main(void)
{      
      uchar Data=0;      
      ISPCR=0x80;         //使能ISP/IAP 读/写/擦除功能
      IFMT =0x07;//设置 读 AUXRA寄存器 (保护的SFR)
      SCMD =0x46;         //当ISPCR.7为“1”且SCMD顺序写入命令“0x46 0xB9”时,ISP操作被触发
      SCMD =0xB9;
      Data = IFD;
      Data&=0x04;//disable OCD_ICE on P4.4/P4.5
      IFD=Data;
      IFMT =0x06;//设置写 AUXRA 寄存器(保护的SFR)
      SCMD =0x46;
      SCMD =0xB9;
      ISPCR=0x00;

      Led1=0;
      Led2=0;
      while(1){delay(200);}
}

xxrs 发表于 2022-8-6 12:46

你可以试一下哈

chuxh 发表于 2022-8-6 12:48

楼主用的是什么单片机,什么设置方式呢?

yufe 发表于 2022-8-6 12:49

搞定了,呵呵,犯了低级错误……多谢各位
页: [1]
查看完整版本: 怎么设置才能做到?