野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9927|回复: 3

火哥,小弟将您写的iso上wifi8266移植到旧版野火M3上,为什么每次开机都要触摸校正?

[复制链接]
发表于 2016-1-9 23:15:42 | 显示全部楼层 |阅读模式
本帖最后由 13969119309 于 2016-1-9 23:27 编辑

火哥   帮忙看看小弟程序那里不对?为什么触摸校正每次开机都要校正,我是将iso程序移植到野火M3开发板的   ????坐等

主函数中修改

主函数中修改
QQ截图20160109232459.png QQ截图20160109232543.png
回复

使用道具 举报

 楼主| 发表于 2016-1-9 23:34:34 | 显示全部楼层
火哥  这是我按照你的帖子     修改了你写的WiFi8266   的程序中的引脚配置    因为iso和M3    的W25X16片选线不同     其他地方我没有找到需要更改的 ,程序现在可以使用   但是每次开机总是触摸校正,我修改的上面这些地方不管用????为什么????看帖子有人说,是M3的板子触摸屛TSC2046和flash  w25X16  有引脚叠加     是这个原因吗????求助
回复 支持 反对

使用道具 举报

发表于 2016-1-11 08:43:41 | 显示全部楼层
  1.                 SPI_FLASH_BufferRead(&cal_flag,0,1);
  2.                 if( cal_flag == 0x55 )
  3.                 {
  4.                         SPI_FLASH_BufferRead((void*)cal_p,1, sizeof(cal_p));
  5.                         SPI_FLASH_CS_HIGH();
  6.                         for( k=0; k<6; k++ )
  7.                                  printf("\r\n rx = %LF \r\n",cal_p[k]);
  8.                 }
  9.                 else
  10.                 {
  11.                         /* &#181;&#200;&#180;&#253;&#180;&#165;&#195;&#254;&#198;&#193;&#208;&#163;&#213;&#253;&#205;ê±&#207; */
  12.                         while(Touch_Calibrate()!=0);
  13.                 }
复制代码

是开机读取SPI flash里边触摸屏校准参数,
你需要在Touch_Calibrate()函数修改:
cal_p[0] = (touch_para.An*1.0)/touch_para.Divider;  // aa1
    cal_p[1] = (touch_para.Bn*1.0)/touch_para.Divider;  // bb1
    cal_p[2] = (touch_para.Cn*1.0)/touch_para.Divider;  // cc1
   
    cal_p[3] = (touch_para.Dn*1.0)/touch_para.Divider;  // aa2
    cal_p[4] = (touch_para.En*1.0)/touch_para.Divider;  // bb2
    cal_p[5] = (touch_para.Fn*1.0)/touch_para.Divider;  // cc2     

    {
      cal_flag = 0x55;
      SPI_FLASH_SectorErase(0);
                        SPI_FLASH_BufferWrite(&cal_flag,0, 1);     
                        SPI_FLASH_BufferWrite((void*)cal_p,1, sizeof(cal_p));
      for( k=0; k<6; k++ )
        printf("\r\n tx = %LF \r\n",cal_p[k]);
    }
   
    LCD_DispStr(100, 100, (uint8_t *)"Calibrate Succed", RED);  
    Delay_ms(1000);
                Touch_Succeed=0;
    return 0;   
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-13 10:04:11 | 显示全部楼层
亽亼 发表于 2016-1-11 08:43
是开机读取SPI flash里边触摸屏校准参数,
你需要在Touch_Calibrate()函数修改:
cal_p[0] = (touch_pa ...

直接将  cal_flag=0x55  就可以吗    不是因为TSC2046和flash引脚叠加的原因吗   现在我直接给cal_p[0] =
    cal_p[1] =
cal_p[2] =
   
    cal_p[3] =
    cal_p[4] =
    cal_p[5] =   这几个数赋值了   也不需要校验了
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-28 05:19 , Processed in 0.049904 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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