打印
[STM32F3]

请教各位,F303RE FLASH模拟EEP问题

[复制链接]
1106|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eurphan|  楼主 | 2015-12-25 22:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的是标准库,折腾了好久了,可就是不能写入数据?请教各位,谁能帮我看看,万分感谢
#include "flash.h"
#include "delay.h"

u16 STMFLASH_ReadHalfWord(u32 faddr)
{
        return *(vu16*)faddr;
}
       
void STMFLASH_Write(u32 secter,u16 *pBuffer,u16 NumToWrite)       
{
  FLASH_Status status = FLASH_COMPLETE;
        u32 endaddr=0;       
       
        if(NumToWrite>1024)       
                return;
       
        FLASH_Unlock();                                                                       
       
        endaddr=secter+NumToWrite*2;       
       
        status=FLASH_ErasePage(secter);

        //if(status==FLASH_COMPLETE)
        //{
                while(secter<endaddr)//дÊý¾Ý
                {
                        FLASH_ProgramHalfWord(secter,*pBuffer);
                        secter+=2;
                        pBuffer++;
                }
        //}
        FLASH_Lock();//ÉÏËø
}

void STMFLASH_Read(u32 secter,u16 *pBuffer,u16 NumToRead)          
{
        u16 i;
        for(i=0;i<NumToRead;i++)
        {
                pBuffer[i] =STMFLASH_ReadHalfWord(secter+i*2);
        }
}



沙发
eurphan|  楼主 | 2015-12-25 23:35 | 只看该作者
已搞定

使用特权

评论回复
板凳
598330983| | 2015-12-26 11:44 | 只看该作者
楼主,你这程序哪儿的问题,怎么搞定这么快,你也太有才了。

使用特权

评论回复
地板
zhuotuzi| | 2015-12-26 16:37 | 只看该作者
是不是需要先读出来才能再写入?

使用特权

评论回复
5
可可球| | 2015-12-26 20:46 | 只看该作者
可就是不能写入数据

可能是通信时序的问题

使用特权

评论回复
6
eurphan|  楼主 | 2015-12-26 23:44 | 只看该作者
598330983 发表于 2015-12-26 11:44
楼主,你这程序哪儿的问题,怎么搞定这么快,你也太有才了。

其实程序没问题,只是我测试的时候用的是一个变量,所以不行,换成数组就可以了

使用特权

评论回复
7
eurphan|  楼主 | 2015-12-26 23:45 | 只看该作者
598330983 发表于 2015-12-26 11:44
楼主,你这程序哪儿的问题,怎么搞定这么快,你也太有才了。

对了,固件库FLASH文件里有个错误,我把它改正了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

244

帖子

3

粉丝