SRAM可以分为低速、中速、高速。
===========================================================
16位宽的SRAM
// 16BITSRAM 指针
PUINT16V pXbusPt2; // 写指针
PUINT16V rXbusPt2; // 读指针
PUINT16V tmpXbusPt2 = (PUINT16V)0x00C00000;
UINT16 temp = 0;
for(i = 0; i < 8196; i+=2){
temp = (UINT16) (bakRecvBuf[i] << 8) | (UINT16) (bakRecvBuf[i+1] );
*pXbusPt2 = temp;
pXbusPt2++;
}
memset(bakSendBuf,0,sizeof(bakSendBuf));
for(i = 0; i < 8196; i+=2){
temp = *tmpXbusPt2;
bakSendBuf[i] = (unsigned char)(temp>>8);
bakSendBuf[i+1] = (unsigned char)(temp);
tmpXbusPt2++;
}
===========================================================
8BIT位宽
/*外部SRAM地址指针*/
PUINT8V pXbusPt; // 写指针
PUINT8V rXbusPt; // 读指针
PUINT8V tmpXbusPt = ( PUINT8V )0x00C00000;
for(i = 0; i < 8196; i++){
*pXbusPt = bakRecvBuf[i];
pXbusPt++;
}
for(i = 0; i < 8196; i++){
bakSendBuf[i] = *tmpXbusPt;
tmpXbusPt++;
}
===========================================================
DMA的方式可以访问到外部SRAM吗?
stm32F10x 不可以
stm32F40x可以,用FSMC。
全部0条评论
快来发表一下你的评论吧 !