| 
 
| 关于IO控制小灯的问题<br /><br />新手,我写了个小灯程序,用的是SEED-DEC2407的模板和仿真器,程序是让D2小灯亮(也就是IOPF6输出高电平),D3灭(也就是使XF为低电平),程序有以下问题:<br />1 D2对应的IOPF6不论设置成高低都不亮,是不是IO驱动能力的问题啊?<br />2 D3(XF)可以灭,但我设置的死循环他自己以会又亮了,请问是不是看门狗的问题,如何设置。<br />3 普通IO口和XF管脚的驱动能力不同吗?<br />4 在CMD文件中,PVECS不能设置在0044h-7fffh,为什么呢?是不是因为我的FLASH加密了,但加密为什么0000h-0040h可以设置呢?<br />请大家赐教,在下感激不禁。<br /><br />-l rts2xx.lib<br />-stack 400<br /><br />MEMORY<br />{<br />  PAGE 0:   <br />    VECS:           org=0000h,   len=0040h   /* internal FLASH */<br />    PVECS:          org=8000h ,   len=7000h<br />  PAGE 1:   <br />    BLK_B2:             org=00060h,   len=00020h   /* internal DARAM */<br />    BLK_B0:            org=00200h,   len=00100h   /* internal DARAM */<br />    BLK_B1:             org=00300h,   len=00100h   /* internal DARAM */<br />   SARAMDATA:      org=00800h,   len=00200h  <br />}<br /><br />SECTIONS <br />{           <br />.vectors:      { }>  VECS      PAGE 0<br />.text:         { }>  PVECS     PAGE 0 <br />.cinit:        { }>  PVECS     PAGE 0<br />.data:         { }>  BLK_B1    PAGE 1          <br />.bss:          { }>  BLK_B0    PAGE 1 <br />.const:        { }>  SARAMDATA PAGE 1<br />    <br />}<br /><br /><br />#include "f2407regs.h"<br /><br />void main(void)<br />{for(;<br />{<br />*SCSR2 = (*SCSR2) | 0x0004;<br />asm (" setc SXM ";<br />asm (" clrc OVM ";<br />asm (" clrc CNF ";<br />asm (" setc INTM ";<br />asm (" clrc XF ";<br />*WDCR = 0X006F;<br />*IFR = 0XFFFF;<br />*IMR = 0X0000;<br />*SCSR1 = 0x81FE;<br />*SCSR2 &= 0xFFFC;<br />*MCRC &= 0xbfff;                  /*1011111111111111,将IOPF6设置成一般IO口*/<br />*PFDATDIR |= 0x4040;                  /*0100000001000000,将IOPF6脚设置成输出高电平*/<br />}<br />}<br /> | 
 |