请问 就是我想给两个地址写数据 然后就会有一个乱码请问怎么回事
const u8 TEXT_Buffer[]={"STM32 FLASH TEST"};
const u8 TEXT_Buffer1[] = {"helloword"};
#define FLASH_SAVE_ADDR 0X08020000
#define FLASH_SAVE_ADDR1 0X08024000
STMFLASH_Write(0X08004000,(u16*)TEXT_Buffer,sizeof(TEXT_Buffer));
delay_ms(2000);
STMFLASH_Write(0X08006000,(u16*)TEXT_Buffer1,sizeof(TEXT_Buffer1));
delay_ms(2000);
STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,sizeof(datatemp));
delay_ms(2000);
STMFLASH_Read(FLASH_SAVE_ADDR1,(u16*)datatemp1,sizeof(datatemp1));
while(1)
{
LED1 =!LED1;
delay_ms(500);
//TEST();
u2_printf("%s
",datatemp);
delay_ms(1000);
u2_printf("%s
",datatemp1);
//delay_ms(1000);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
您好,有几个问题请教下您:
#define FLASH_SAVE_ADDR 0X08020000
#define FLASH_SAVE_ADDR1 0X08024000
#define FLASH_SAVE_ADDR2 0X08028000
#define FLASH_SAVE_ADDR3 0X08034000
#define FLASH_SAVE_ADDR4 0X08010000
if((STMFLASH_ReadHalfWord(FLASH_SAVE_ADDR4))==1)
{
STMFLASH_Read(FLASH_SAVE_ADDR1,(u16*)cipsta,sizeof(cipsta));
delay_ms(1000);
STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)wifi,sizeof(wifi));
delay_ms(2000);
STMFLASH_Read(FLASH_SAVE_ADDR3,(u16*)cipopen,sizeof(cipopen));
delay_ms(1000);
STMFLASH_Read(FLASH_SAVE_ADDR2,(u16*)cipsto,sizeof(cipsto));
delay_ms(1000);
while(atk_8266_send_cmd(wifi,"OK",200));
while(atk_8266_send_cmd(cipsta,"OK",200));
while(atk_8266_send_cmd(cipopen,"OK",200));
}
我是这样定义 然后是从低地址开始写串口接收到的数据 然后从高地址开始读就不会有说第一次写的乱码的现象,不知道这是什么原因?我可以确定接收的数据并没有超过我定义的地址也没有在同一个扇区。。。 还有一个问题就是我从串口接收到的数据比如先写在FLASH_SAVE_ADDR1 然后我在接收在写在这里就不行 也不知道这是为什么呢?不应该是覆盖掉原来的吗
一周热门 更多>