新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2019-12-11
- 在线时间
- 4 小时
|
1金钱
请教下大家,谢谢大家的帮忙。
FLASH的读写是copy自原子例程,只是我用的是STM32F103C8T6,原子用的是STM32F103RC。我写的程序和原子的例程也一起附上。
//要写入到STM32 FLASH的字符串数组
unsigned char Data_Buffer[4];
#define SIZE sizeof(Data_Buffer) //数组长度
#define FLASH_SAVE_ADDR 0X08020000 //设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)
void STMFLASH_Read(u32 ReadAddr,u16 *pBuffer,u16 NumToRead)
{
u16 i;
for(i=0;i<NumToRead;i++)
{
pBuffer=STMFLASH_ReadHalfWord(ReadAddr);//读取2个字节.
ReadAddr+=2;//偏移2个字节.
}
}
void InitVariable(void)//全局变量初始化函数
{
STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)Data_Buffer,SIZE);
modbus.sendbuf[4]=Data_Buffer[0]; modbus.sendbuf[5]=Data_Buffer[1];
modbus.sendbuf[6]=Data_Buffer[2]; modbus.sendbuf[7]=Data_Buffer[3];
}
运行这句STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)Data_Buffer,SIZE);就会掉进就会掉进
void HardFault_Handler(void)
|
|