经过我几天的折腾,终于把STM8的Flash读写包括在IAR下的块写等搞定了。资源分有点多,
2023-03-03 09:22:29 5.41MB STM8 Flash write block
1
采用STM32F429IGT6单片机,KeilMDK5.32版本 使用SysTick系统滴答定时器进行延时 LED_R、LED_G、LED_B分别为PH10,PH11,PH12 Key1为PA0,Key2为PC13 KEIL5下载配置有FLASH与SRAM 用SPI5与Flash芯片通信(W25Q256JV),使用了DMA进行收发数据,SPI是同步通信,同时收发数据(其实仅与发TX同步,作为主器件,Tx产生波特率时钟SCK信号) 利用可变参数宏实现printf与scanf 定义了Flash输入输出结构体,利用了共用体 发送与接收缓冲区大小均为一个扇区大小4096B NSS(CS)采用软件控制,因为Flash芯片每发送玩一个指令都要把CS拉高。 注意点:因为TX产生SCK时钟,故需要TX的DMA优先级要比RX的优先级低,本次TX和RX的DMA使用的是一个DMA(DMA2),因为当收发一个数据后,TX和RX的DMA出现仲裁,TX需要发下一个数据,RX需要接收当前数据,为了防止一直发数据,故RX的DMA优先级需要比TX的高开启RX的DMA传输完成中断,在该中断中将CS拉高,结束通讯。
2022-12-23 09:59:58 616KB stm32 c语言
1
最近选型使用STM32G030这款芯片,由于做的功能需要频繁读写flash,最开始没有注意到芯片的擦写次数是1000次,为了确保功能实现,只能是每次写入flash时判断当前页是否写满,写满才擦除重新开始写;每次需要写入flash的数据长度小于128字节,以128字节计算,每一页可以写入16=2048/128 次; STM32G030C8T6最少可以写入16000次;如果对写入次数需求高的,可以减少每次写入数据的长度;文档测试的是64长度,支持多长度(8的倍数)写入
2022-08-10 20:43:28 9.27MB STM32G030C8T6 FALSH
1
CC基于DMA访问内部的Flash, 不是外部的flash
2022-04-28 14:05:06 2KB CC2530 Flash DMA
1
这个程序是在一个实际项目中应用前的测试程序。51单片机读写SST29SF020,2Mbit FLASH。速度至少1KB/s,程序还可以优化,速度还有较大提升空间。 附带原理图。 声明:本程序为个人原创。
2022-03-26 16:36:15 31KB 51 FLASH EEPROM
1
前言 前面的博客描述了如何读写flash,可能还对读写flash思路还是不是那么的清晰,首先我们用的是外置的flash,就要模拟跟外部硬件通讯的时序,这样外部硬件才能识别主控侧发出的信号是什么! SPI是全双工,同步的时钟总线! 目的 通过SPI的方式,实现对外部flash(W25Q128)的读与写,写入的内容读出后在TFTLCD上显示出来。SPI方式可以控制FLASH,EEPROM,虽然前面的博客时使用IIC来控制EEPROM(24c02),其实是一个结果,用不同的方式实现功能。 原理 我们来简单看一下内部的构造图: 从内部简明图可以看出,主机smart和从机slave都有一个串行移位寄存
2021-12-21 16:39:14 173KB AS ash fl
1
此程序包括对stm32f100系列芯片的flash的读写程序,及相关初始化定义
2021-11-10 20:36:21 6KB stm32f100 flash
1
PIC12F617单片机读写内部Flash程序。
2021-11-10 09:47:42 1KB PIC 读写Flash
1