-
报错,奇怪的错
报错
是因为复制过来下面这段代码的时候,“|” 复制过来是中文,重新输入一下就好了。
CW_FLASH -> PAGELOCK = ( 0x5A5A0000 | ( CW_FLASH->PAGELOCK | 0x00000400 ) ); // 解锁 LOCK10
- 32 位数据写出来后,报错
不好截图,只描述。
tempdata = *( ( uint16_t *) 0x0000 1000 ); // 如果中间有空格,会报错
tempdata = *( ( uint16_t *) 0x00001000 ); // 0000 1000 中间不能有空格
- 访问 0x00000000 报错
报错不好截图,只描述。
*( ( uint16_t * ) 0x00000000 ) = 0x1234; // 这样会报错,得从 0x0000 0002 开始
*( ( uint16_t * ) 0x00000002 ) = 0x1234; // 这样可以,不太明白为啥从 0x0000 0000 就不行
-
读数据的时候,得两个两个读,因为我是 16bit 读取
读数据的注意
-
已经写入了 FLASH,重下载程序后又成 FFFF 了?
因为下载程序的时候,全片擦除了。
看了下界面,没有非全片擦除。
看来,估计得我自己加个保护,先不用管。
CW32 下载界面 CW32 读写 FLASH
CW32 读写 FLASH,基础操作


