硬件: 2214 ULINK 时钟设置: #define Fosc 11059200 //晶振频率,10MHz~25MHz,应当与实际一至 #define Fcclk (Fosc * 4) //系统频率,必须为Fosc的整数倍(1~32),且<=60MHZ #define Fcco (Fcclk * 4) //CCO频率,必须为Fcclk的2、4、8、16倍,范围为156MHz~320MHz #define Fpclk (Fcclk / 4) * 1 //VPB时钟频率,只能为(Fcclk / 4)的1 ~ 4倍 内部flash调试,无片外ram bank2接外部设备(cpld),16位总线,只有写数据 问题: LDR R0, =BCFG2 LDR R1, =0x10004eff STR R1, [R0] 1。BCFG2设置成0x1000feff和0x1000fef0效果是一样的,一个写周期都是差不多750ns,示波器上看到的波形也几乎一样,按道理应该差16个空闲周期才对呀,为什么?见图1(0x1000feff)图2(0x1000fef0) 图1(1通道是nCS2,2通道是WE):
图2(1通道是nCS2,2通道是WE):
2。BCFG2设置成0x10004eff时,如果连续写8个数据(地址累加),会出现这样的现象:第一个写周期后会等待一段时间写第二个数据,但第二个数据后却没有等待时间就写第三个数据了,后面的都是一个等一个不等,这样间隔着,为什么?见图3(0x10004eff) 图3(1通道是nCS2,2通道是WE):
测试程序: for(;;) { uint16 out; uint16 *p; p =(uint16 *)0x82000000; out = 8;
for(;out>0;out--) { *p = out; p++; } OSTimeDly(TIME_DELAY_500ms); } |