[mw_shl_code=c,true]#include"stm32f10x.h"
#include"sys.h"
#include"delay.h"
#include"usart.h"
#include"sram.h"
u16 sramTxBuff[]={0x5500,0x5501,0x5502,0x5503,0x5504,0x5505,0x5506,0x5507,0x5508,0x5509};
u16 sramRxBuff[100];
int main(void)
{
delay_init();
uart_init(9600);
Sram_Init();
NVIC_Configuration();
FSMC_SRAM_WriteBuffer(sramTxBuff,0x8000,10);
FSMC_SRAM_ReadBuffer(sramTxBuff,0x8000,10);
while(1)
{
printf("OK\r\n");
delay_ms(2000);
}
}
[mw_shl_code=c,true]//向指定地址写入多个半字
void FSMC_SRAM_WriteBuffer(u16* pBuffer, u32 WriteAddr, u32 NumHalfwordToWrite)
{
for(; NumHalfwordToWrite != 0; NumHalfwordToWrite--) /* while there is data to write */
{
/* Transfer data to the memory */
*(u16 *) (Bank1_SRAM3_ADDR + WriteAddr) = *pBuffer++;
/* Increment the address*/
WriteAddr += 2;
}
}[/mw_shl_code]
[mw_shl_code=c,true]//从多个地址读取半字
void FSMC_SRAM_ReadBuffer(u16* pBuffer, u32 ReadAddr, u32 NumHalfwordToRead)
{
for(; NumHalfwordToRead != 0; NumHalfwordToRead--) /* while there is data to read */
{
/* Read a half-word from the memory */
*pBuffer++ = *(vu16*) (Bank1_SRAM3_ADDR + ReadAddr);
/* Increment the address*/
ReadAddr += 2;
}
}[/mw_shl_code]
用Jlink调试时进入硬件错误中断,是怎么回事啊?![/mw_shl_code]
|