OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6321|回复: 3

使用GD32F103CBT6的芯片的,但是使用STM32的函数库,为什么FLASH写不进啊!!!求助

[复制链接]

1

主题

2

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-5-10
在线时间
7 小时
发表于 2021-7-30 19:12:25 | 显示全部楼层 |阅读模式
void STMFLASH_Unlock(void)
{
  FLASH->KEYR=0x45670123;
  FLASH->KEYR=0xCDEF89AB;
}
void STMFLASH_Lock(void)
{
  FLASH->CR|=1<<7;//该函数就是将LOCK位置1
}


u8 STMFLASH_GetStatus(void)
{
        u32 res;
        res=FLASH->SR;
        if(res&(1<<0))
                return 1;    //忙碌则返回1
        else if(res&(1<<2))
                return 2; //编程错误返回2
        else if(res&(1<<4))
                return 3; //写保护错误返回3
        return 0; //非忙碌状态且无任何错误时,返回0,或者说可以读写操作的话返回0
}

u8 STMFLASH_WaitDone(u16 time)
{
        u8 res;
        do
        {
                res=STMFLASH_GetStatus();//读取FLASH状态是否处于忙碌状态
                if(res!=1)break;//非忙碌状态则break
                delay_us(1);
                time--;
        }while(time);
        if(time==0)
                res=0xff;//TIMEOUT超时了,res等于0xff
        return res;//操作完成返回0
}


u8 STMFLASH_WriteHalfWord(u32 faddr, u16 dat)
{
        u8 res;      
        res=STMFLASH_WaitDone(0xFF);  
        if(res==0)//OK,非忙碌状态下进入
        {
                FLASH->CR|=1<<0;//设置写操作
        //        *(vu16*)faddr=dat;//向地址中写入数据
                (*(volatile uint32_t *)(uint32_t)(faddr))=dat;//向地址中写入数据
                res=STMFLASH_WaitDone(0xFF);//等待操作完成
                if(res!=1)//
                {
                        FLASH->CR&=~(1<<0);//清零写操作位
                }
        }
        return res;
}


自己写了一个写FLASH的函数也不行,但是在GD32F103VE的板子上可以写入数据

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
186
金钱
186
注册时间
2017-6-30
在线时间
43 小时
发表于 2022-5-7 11:09:15 | 显示全部楼层
回复 支持 反对

使用道具 举报

2

主题

25

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
475
金钱
475
注册时间
2017-4-1
在线时间
57 小时
发表于 2022-10-20 10:48:25 | 显示全部楼层
试着用一下gd的库函数?
回复 支持 反对

使用道具 举报

32

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
617
金钱
617
注册时间
2013-1-16
在线时间
131 小时
发表于 2022-10-20 10:58:28 | 显示全部楼层
写不进去,有看函数的返回值么
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 00:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表