FPGA|CPLD|ASICwilliam hill官网
直播中

乔海权

12年用户 53经验值
擅长:可编程逻辑 电源/新能源 模拟技术 测量仪表 EMC/EMI设计 嵌入式技术 制造/封装 存储技术 CRF/无线 接口/总线/驱动 处理器/DSP 光电显示 控制/MCU EDA/IC设计 RF/无线 MEMS/传感技术
私信 关注
[经验]

【DIGILENT挑战赛】arty artix 7- 35t 测试第6篇 代码详解,上传妹纸照片,项目结束

本帖最后由 qiaohaiquan 于 2017-4-29 14:58 编辑

1. 其实拿到这么炫酷的板子,总要做点什么惊天地的事情吧。
2. 我测试MyDispDemo2.cc 发现可以打开照片
1.JPG
3. 那么开始研究,找到SD卡的里面的文件,发现了digilent 的图片
1.JPG
查看图片属性,bmp格式,240*320 的
1.JPG
4. 找到自己的图片,用PS换成bmp格式,240*320 的 像素。
5. 接下来看代码怎么处理的
int main ()
{
        EnableCaches(); //初始化,可以不用
        setup(); // 这个是设置屏幕的一些参数,按键,背景图片等
        while(1)
        {
                loop();  //这个函数不仅仅是循环,处理事件都在里面
        }
        return 0;
}

6.  说下 setup 函数,主要是下面几个函数,绿色背景的就是这次我们需要修改的地方,C++风格代码,还好,不多讲了,大家估计都会的
//设置按键的 图片,就是按键的外观,"Images/IMG_0001.BMP"这种就是路径和照片名字。一个是按键没按下的图片,一个是按键按下的图片
  mydisp.createButton(0, "Images/IMG_0001.BMP", "Images/IMG_0002.BMP",  10, 270);
  mydisp.createButton(1, "Images/IMG_0001.BMP", "Images/IMG_0002.BMP", 100, 270);
  mydisp.createButton(2, "Images/IMG_0001.BMP", "Images/IMG_0002.BMP", 190, 270);
//显示背景图片,我打算先把这个替换掉,0,0就是在屏上的位置从00开始
  mydisp.drawImage("Images/IMG_LOGO.BMP", 0, 0);
//使能3个按键
  mydisp.enableButton(0, true);
  mydisp.enableButton(1, true);
  mydisp.enableButton(2, true);
//擦除等会显示的图片的区域,做个准备,里面还需要指定擦的区域,不多讲了,比较简单
EraseImageBox();


7. 下面是loop函数,在里面检测那个按键按下,调用相应的处理函数,等会我要把3个图片替换掉
  switch(mydisp.getButton()) {
    case 0:
      EraseImageBox();
      mydisp.drawImage("Images/IMG_0010.BMP", 50, 20);
      mydisp.setForeground(clrGreen);
      mydisp.drawText("Image: IMG_0010.BMP", 20, 108);
      break;

    case 1:
      EraseImageBox();
      mydisp.drawImage("Images/IMG_0011.BMP", 30, 20);
      mydisp.setForeground(clrGreen);
      mydisp.drawText("Image: IMG_0011.BMP", 20, 108);
      break;

    case 2:
      EraseImageBox();
      mydisp.drawImage("Images/IMG_0100.BMP", 20, 20);
      mydisp.setForeground(clrGreen);
      mydisp.drawText("Image: IMG_0100.BMP", 20, 108);
      break;
  }


8. 准备好自己的图片,修改代码图片名字,和显示区域,把妹子美美哒的照片放上去,做3按键可以切换,我自己为了美观把3个按键的外形擦除了
但是实际3个按键还是存在的,按下的时候,有一个按键图片会显现。我放了3个图片,每按一个按键,照片会切换一个
微信图片_20170429144652.jpg

9. 总的用起来,主要就是用MTDS这个类 的方法即可,算是很方便的。
10. 至此,这个项目我觉的已经完美结束了,但是真正的学习却刚刚开始,好了分享了这么好的一个经验,为啥大家不动起手来,给女朋友一个惊喜哩。
11. 分享一个朋友的淘宝店铺 IOT物联网火威宝山电子

更多回帖

发帖
×
20
完善资料,
赚取积分