我用的是24位地址、16位数据复用模式。往emi接口上交替发送0x0000和0xFFFF,代码如下: #ifdef Buffered #ifndef EMI_ADDRESS #define EMI_ADDRESS 0x2C000000 #endif #else #ifndef EMI_ADDRESS #define EMI_ADDRESS 0x3C000000 #endif #endif u16 a=0x0000,b=0xFFFF; const u32 c=0x000000,d=2*0xFFFFFF;//必须乘以2,参考编程手册P22 u16 * addr; u16 data; *(u16 *)(EMI_ADDRESS+c) = a;//0xFF00; *(u16 *)(EMI_ADDRESS+d) = b;//0xFFFF; *(u16 *)(EMI_ADDRESS+c) = a;//0xFF00; *(u16 *)(EMI_ADDRESS+d) = b;//0xFFFF; *(u16 *)(EMI_ADDRESS+c) = a;//0xFF00; *(u16 *)(EMI_ADDRESS+d) = b;//0xFFFF; 结果从得到高低电平都约为330ns的方波。那么速度也就是3M*16位=48bit/s。 你指的速度如果是bit/s的话就与我的相当。
3M的方波也太小了,几乎与GPIO产生的相当了。 |