注册 登录
查看: 378|回复: 3

[其他] 山外哥,我想用1.4液晶模块的调参然后写入flash,但一天了都没成功

[复制链接]
发表于 2014-7-2 22:23:38 | 显示全部楼层 |阅读模式
  1. void  main(void)
  2. {
  3.     LCD_init();
  4. #if 1
  5.     flash_init();
  6.     balance_P     = flash_read(SECTOR_NUM, 0,  uint32);
  7.     balance_D     = flash_read(SECTOR_NUM, 8,  uint32);
  8.     balance_ACC   = flash_read(SECTOR_NUM, 16, uint32);
  9.     speed_Set     = flash_read(SECTOR_NUM, 24, uint32);
  10.     speed_P       = flash_read(SECTOR_NUM, 32, uint32);
  11.     speed_I       = flash_read(SECTOR_NUM, 40, uint32);
  12.     direction_P   = flash_read(SECTOR_NUM, 48, uint32);
  13.     direction_D   = flash_read(SECTOR_NUM, 56, uint32);
  14.     direction_ERR = flash_read(SECTOR_NUM, 64, uint32);
  15. #endif
  16. #if 1
  17.     key_event_init();                                       
  18.     pit_init_ms(PIT0,5);                                   
  19.     set_vector_handler(PIT0_VECTORn ,PIT0_IRQHandler);   
  20.     enable_irq(PIT0_IRQn);
  21. #endif
  22. while(1)
  23.     {
  24.         deal_key_event();
  25.     }
  26. }
  1. void var_ok()
  2. {
  3.     ASSERT(new_tab < VAR_MAX);

  4.     //比较是否有改变值
  5.     if(VAR_VALUE(new_tab) != VAR_OLDVALUE(new_tab))   //值改变了,则需要处理
  6.     {
  7.         flash_erase_sector(SECTOR_NUM);
  8.         uint8 OFFSET = (new_tab-1) * 8 ;
  9.         uint32 var= VAR_VALUE(new_tab);
  10.         flash_write(SECTOR_NUM, OFFSET,var);
  11.     }
  12.     var_display(new_tab);
  13. }
回复

使用道具 举报

发表于 2014-7-2 22:25:04 | 显示全部楼层
写入前,需要擦除flash的。

所以写入的时候,需要全部、同一个扇区的数据一次写完。

不建议频繁写入,而是按一个按键来手动写入,这样可以避免频繁写入数据
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-2 22:27:35 | 显示全部楼层
山外哥,代码如上。我现在遇到的问题是,如果全速运行,液晶屏停留在初始化状态没有参数显示;如果在key_event_init();之前设一个断点,或者从头单步运行,到了key_event_init();完成之后就有九个参数的值显示。感觉想不通啊。。。求救!然后,当我按下select后执行的函数var_ok()这样写对吗?
回复 支持 反对

使用道具 举报

发表于 2014-7-2 22:28:52 | 显示全部楼层
路易十三四五六 发表于 2014-7-2 22:27
山外哥,代码如上。我现在遇到的问题是,如果全速运行,液晶屏停留在初始化状态没有参数显示;如果在key_ev ...

试下flash 初始化后,延时 100ms 看看。
回复 支持 反对

使用道具 举报

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

本版积分规则

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