会用FLASH的大神请指教,我往FLASH里写数据,读出来却是FF FF,这是为什么?

2019-10-16 01:25发布

本帖最后由 dreamARM 于 2016-11-2 15:51 编辑

int main(void)
{
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢
        while(1)
        {
                  step++;
                        MotorRun(3,step);
                if(step>=65535)
                        step=0;
                if(KEY2==0)        //KEY0按下,读取字符串并显示
                        {
                                delay_ms(20);
                                if(KEY2==0)        //KEY0按下,读取字符串并显示        
                    {
                            STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)flash,SIZE);
                                  txbuf[0]=flash/256;
                                    txbuf[1]=flash%256;
                                   send_char(txbuf[0]);
                                        delay_ms(1);
                                   send_char(txbuf[1]);        
                    }
            }         
  }
void USART1_IRQHandler(void)
{
        //unsigned char recdata;
        unsigned char res;
        if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET)
        {
                 res = USART_ReceiveData(USART1);
          if (res==0x01)
                  {
                                        STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)step,SIZE);
                           rxbuf[0]=step/256;
                               rxbuf[1]=step%256;
                             send_char(rxbuf[0]);
                            send_char(rxbuf[1]);
                        }
                }                          
}                        
这个程序的用法是  step 在主程序里自增, 当我发出01命令时候,可以显示并储存当前step值,以后上电开机,或是按KEY2都可以直接读出来,但是现在读出来全是00.
麻烦大家了!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
八度空间
1楼-- · 2019-10-16 03:06
STMFLASH_Write()这个函数代码贴出来
footprint
2楼-- · 2019-10-16 04:38
FF是没有数据,也就是说没有写进去。rxbuf[num] 里面的num是在那里设的变量?num自增和清零在那里实现的?程序贴的不全不好分析吧!
dreamARM
3楼-- · 2019-10-16 05:46
 精彩回答 2  元偷偷看……
dreamARM
4楼-- · 2019-10-16 09:18
footprint 发表于 2016-11-2 12:57
FF是没有数据,也就是说没有写进去。rxbuf[num] 里面的num是在那里设的变量?num自增和清零在那里实现的? ...

你好,我更新了一下题目,你帮我看看呗?
密耳
5楼-- · 2019-10-16 14:12
简单点写就行呗,,搞那么麻烦
dreamARM
6楼-- · 2019-10-16 15:37
密耳 发表于 2016-11-2 16:24
简单点写就行呗,,搞那么麻烦

LENTH,为什么要除以2? 你这个程序是做什么的呢, 我的 STEP,是16位数据,最大65535

一周热门 更多>