关于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 /> |
|