欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2039|回復: 0
打印 上一主題 下一主題
收起左側

ESK32-360開發板TFT屏顯示功能及擴展(2)

[復制鏈接]
跳轉到指定樓層
樓主
ID:776997 發表于 2020-8-7 09:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
2. 繪圖函數的擴展
要實現繪圖功能,首先是添加畫點函數,然后是添加畫線函數和區域填充函數。
添加的畫點函數為:
  1. void LCD_dotDraw(u16 X_Location, u16 Y_Location, u16 Color)
  2. {
  3.     LCD_StarterSet(X_Location, Y_Location);
  4.          LCD_WriteRAMPrior();
  5.          LCD_WriteRAM(Color);
  6. }
復制代碼

添加的畫線函數為:
  1. void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2, u16 Color)
  2. {
  3.          u16 t;
  4.          s16 xerr=0,yerr=0,delta_x,delta_y,distance;
  5.          u16 incx,incy,uRow,uCol;
  6.          delta_x=x2-x1;
  7.          delta_y=y2-y1;
  8.          uRow=x1;
  9.          uCol=y1;
  10.          if(delta_x>0)incx=1;
  11.          else if(delta_x==0)incx=0;
  12.          else { incx=-1; delta_x=-delta_x; }
  13.         
  14.          if(delta_y>0)incy=1;
  15.          else if(delta_y==0)incy=0;
  16.          else { incy=-1; delta_y=-delta_y; }
  17.         
  18.          if( delta_x>delta_y) distance=delta_x;
  19.          else distance=delta_y;
  20.         
  21.          for(t=0;t<=distance+1;t++)
  22.          {
  23.                    LCD_dotDraw(uRow,uCol,Color);            
  24.                    xerr+=delta_x ;
  25.                    yerr+=delta_y ;
  26.                    if(xerr>distance)
  27.                    {
  28.                             xerr-=distance;
  29.                             uRow+=incx;
  30.                    }
  31.                    if(yerr>distance)
  32.                    {
  33.                             yerr-=distance;
  34.                             uCol+=incy;
  35.                    }
  36.          }
  37. }
復制代碼

添加的區域填充函數:
  1. void LCD_fill(u16 x,u16 y,u16 Height,u16 Width,u16 Color)
  2. {
  3.   u16 i,j;

  4.   for(j=0;j<Height;j++)
  5.   {
  6.          LCD_StarterSet(x,y);
  7.     LCD_WriteRAMPrior();
  8.     for (i = Width; i > 0; i--)
  9.     {
  10.       LCD_WriteRAM(Color);
  11.     }
  12.            x++;
  13.   }
  14. }
復制代碼

有了這3個函數,后面我們在進行A/D采集時就可以輕松地實現數據的波形顯示,稍后見!

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表