STM32如何读写芯片内部FLASH,要存几个变量?

STM32如何读写芯片内部FLASH,要存几个变量?,第1张

需要三个变量,程序如下所示:

void write_buf(u32 addr,u8 *p,u16 n)

{

u32 r1

n=n/4//擦除并写flash

FLASH_Unlock()//FLASH解锁

FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR)//清标志位

FLASH_ErasePage(addr)

while(n--)

{r1=*(p++)

r1|=*(p++)<<8

r1|=*(p++)<<16

r1|=*(p++)<<24

FLASH_ProgramWord(addr, r1)

addr+=4

}

}

void read_buf(u32 addr,u8 *p,u16 n)

{

while(n--)

{

*(p++)=*((u8*)addr++)

}

}

你说的是烧录二进制到STM中吧,STM内部集成的有ISP模块,电脑安装mcuisp,链接STM32的串口就可以烧录。

如果是开发STM软件的话,建议用MDK+官方代码包。在MDK下可以用50块钱的Jlink仿真下载。不用jlink也行,STM串口和电脑串口对接,用mcuisp烧录。

要回答这个问题不太容易,首先你要有掌握一些基本的技能,比如C语言,这是最基本的。有了这个基础后,如果你是新手:

首先,建议你买一块STM32的开发板,很便宜(100多元的就有很多),这类开发板基本上会提供很多供你上手和调试的例程(你说的串口通信以及IO控制LED,都是很通用的例程);

然后你根据这些例程,仔细看,慢慢调,一定要弄懂代码的功能;

最后,我相信,等你调试完2~3个例程后,你提的问题,就很容易解决了。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12037696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存