OpenEdv-开源电子网

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

FLASH读取后的问题

[复制链接]

27

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
金钱
329
注册时间
2013-5-12
在线时间
26 小时
发表于 2013-10-17 18:45:17 | 显示全部楼层 |阅读模式

void mag(int display_mag)
   {   
 unsigned char datatemp[12][6];  //数据读取
 STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,72);
  for(i_mag=0;i_mag<12;i_mag++)
  {
   for(j_mag=0;j_mag<6;j_mag++)
   {
    MAG_1[i_mag][j_mag]=datatemp[i_mag][j_mag];
    }
   }
//////////////////////////////////////////////////////////////////////// 
 mag1();
 while(display_mag==5)
 { 

  key_mag=keyboard_Scan(); //矩阵键盘键值
  if(key_mag==4|key_mag==6|key_mag==10|key_mag==11|key_mag==12)
  {
   display_mag=key_mag;
   goto end;
  }
//////////////////////////////////////////////////////////////////////////////////////////////////////
  if(key_mag==32)  //
  {
   delay_ms(150);
   num_mag1++;
   if(num_mag1>12)
    {num_mag1=1;}
  }
  if(key_mag==26) //
  {delay_ms(150);
   num_mag1--;
   if(num_mag1<1)
   {num_mag1=12;}
   }
  if(key_mag==33) //
  {delay_ms(150);
   num_mag2++;
   if(num_mag2>6)
    {num_mag2=1;}
  }
  if(key_mag==31)//
  {delay_ms(150);
   num_mag2--;
   if(num_mag2<1)
   {num_mag2=6;}
   }
//////////////////////////////////////////////////////////////////////////////////////////////////////
  for(i_mag=0;i_mag<12;i_mag++)
  {
   for(j_mag=0;j_mag<6;j_mag++)
   {
    if(MAG_1[i_mag][j_mag]==1) Show_Str(95+40*j_mag,47+16*i_mag,200,14,"左",14,1);
    if(MAG_1[i_mag][j_mag]==2) Show_Str(95+40*j_mag,47+16*i_mag,200,14,"中",14,1);
    if(MAG_1[i_mag][j_mag]==3) Show_Str(95+40*j_mag,47+16*i_mag,200,14,"右",14,1);
    }
   }
/////////////////////////////////////////////////////////////////////////////////////////////////////
  if(39+40*num_mag2<79)goto end;
  if(31+16*num_mag1<47)goto end;
  x1=(39+40*num_mag2);
  y1=(31+16*num_mag1);
  x2=(77+40*num_mag2);
  y2=(45+16*num_mag1);

  if(x1!=x10|x2!=x20|y1!=y10|y2!=y20) LCD_Fill(x10,y10,x20,y20,WHITE);
  LCD_Fill(x1,y1,x2,y2,BLUE);
  if(key_mag==23|key_mag==24)   MAG_1[num_mag1-1][num_mag2-1]=0;//删除
  else if(key_mag==13)          MAG_1[num_mag1-1][num_mag2-1]=1;//左
  else if(key_mag==14)          MAG_1[num_mag1-1][num_mag2-1]=2;//中
  else if(key_mag==15)          MAG_1[num_mag1-1][num_mag2-1]=3;//右
  x10=x1;
  y10=y1;
  x20=x2;
  y20=y2;
///////////////////////////////////////////////////////////////////////////////////////////////////// 
  if(key_mag==25)   //数据存储
  {
    LCD_Fill(80,80,240,160,WHITE);//清除半屏
    Show_Str(96,120,200,14,"开始写入数据....",14,1);   
    STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)MAG_1,72);
    delay_ms(10000);
    Show_Str(96,120,200,14,"  数据写入完成  ",14,1);//提示传送完成
    delay_ms(10000);
    mag1();
  }
/////////////////////////////////////////////////////////////////////////////////////////////////////
  end:{}
 }
   }


加上读取FLASH那句后程序跳不出去,删掉就没有任何问题,这是怎么回事啊

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-17 23:20:04 | 显示全部楼层
说明这个代码有问题啊,呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

27

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
金钱
329
注册时间
2013-5-12
在线时间
26 小时
 楼主| 发表于 2013-10-18 00:00:16 | 显示全部楼层
已解决 谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-11 02:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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