历史上的今天
今天是:2025年01月08日(星期三)
2020年01月08日 | 写STM8flash和写外部flash EN25Q16A-104HIP 的函数小纪
2020-01-08 来源:eefocus
写外部flash EN25Q16A-104HIP 的函数
uint8 program_data(uint16 flash_addr, uint8 buffer[], uint8 len)
{
uint8 i,flagstatus;
uint16 address;
int8 trycnt=1;
//u16 timeout = 0xFFFF;
retry_lbl:
if(trycnt-- <= 0) return(0);
FLASH->CR1 &= (u8)(~0x01);
FLASH->CR1 |= (u8)0x00;
address = flash_addr;
for(i = 0; i < len; i++)
{
clr_watchdog(NULL);
/* Unlock Program memory */
FLASH_Unlock(FLASH_MEMTYPE_PROG);
*((uint8 *) address) = buffer[i];
while (flagstatus == 0x00)
{
flagstatus = (u8)(FLASH->IAPSR & ((u8)(0x04) |(u8)(0x01)));
//timeout--;
}
FLASH_Lock(FLASH_MEMTYPE_PROG);
address++;
}
address = flash_addr;
for(i = 0; i < len; i++)
{
if(*((u8*) address) != buffer[i]) goto retry_lbl;
address++;
}
return(1);
}
STM8 FLASH
oid flash_write(u16 addr, const void *in, u8 len)
{
//FLASH->CR1 &= (u8) (~0x01);
const u8 *data = (const u8 *)in;
FLASH_Unlock(FLASH_MEMTYPE_PROG);
while (len--)
{
*((u8*) addr++) = *data++;
while (!(u8) (FLASH->IAPSR & ((u8) (0x04) | (u8) (0x01))))
IWDG->KR = IWDG_KEY_REFRESH;
}
FLASH_Lock(FLASH_MEMTYPE_PROG);
}
史海拾趣
|
先说明一点,希望有知道的给小弟一点建议,不知道的不要说,就说自己不清楚或者是知道一点,就行,这样我能准确的判断问题,不要担心分值的问题,只要回复我就给分,24小时之内结贴,说到做到,看我的结帖率就知道了! 小弟想问一个问题,我想上北 ...… 查看全部问答> |
|
是这样的,我做了打印机的驱动,然后在“画笔”中打印,发现DrvEnablePDEV进去了,可是立马又调用了DrvDisablePDEV,连DrvStartDoc都没有进去,是不是因为没有AddForm导致的,还会不会有其它的问题导致这种现象?我非常渴望大家的意见。… 查看全部问答> |
|
430做的保护器,可以控制SIM300模块发送接收短信,现在有的问题,当设备运行久了,就会出现死机,或不响应命令即不接收短信,刚开始一切正常,过差不多一天多点就出现问题了,请高人指点… 查看全部问答> |
|
老师给的一个任务,开始就遇到麻烦了,请教大家如何解决呢?关于ceconfig.h的 老师拿来一个程序让我修改,是用在手机上一个软件的算法,我在编译原代码的时候发现VC++6.0出错,提示没有cecongfig.h的头文件。小弟没有搞过嵌入式开发,上网一搜才知道是windous ce 下设置环境变量的头文件。 现在问题是,我的机子又不是用windo ...… 查看全部问答> |
|
我用的是4系列的,问个关于内部RTC写入的问题。 当RTC配置好启动后。如果用户需要通过按键修改时间的话,修改RTCHOUR和RTCMIN的时候,需要事先关闭RTC模块吗?还是直接改写就可以呢?怎样做是安全的,不会出错的? 430的内部RTC还有什么其它的注 ...… 查看全部问答> |
|
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第三十五章 DS18B20数字温度... 第三十五章 DS18B20数字温度传感器实验 STM32虽然内部自带了温度传感器,但是因为芯片温升较大等问题,与实际温度差别较大,所以,本章我们将向大家介绍如何通过STM32来读取外部数字温度传感器的温度,来得到较为准确的环 ...… 查看全部问答> |




