久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11078|回復: 5
收起左側

STM32貪吃蛇課程設計報告

  [復制鏈接]
ID:442651 發表于 2018-12-9 14:44 | 顯示全部樓層 |閱讀模式
前言

隨著科學技術的不斷進步,嵌入式近些年來逐漸興起,其領域比較新,發展非常迅速,由于它屬于新興領域,接觸的人并不是很多,但是嵌入式在各種電子設備上的應用越來越越廣泛,并且各種電子設備也在朝著嵌入式微系統,智能化的方向前進。STM32系列是基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M內核。作為21世紀的人才,為了與社會實際需要相銜接,提高我們的學習興趣,利用STM32系列單片機進行了一次嵌入式系統設計。

摘要

在本次作業中采用STM32系列中的STM32F103RCT6微控制器芯片,采用ALIENTEK戰艦STM32開發板,使用MiniSTM32開發板上的 LCD 接口,來點亮 TFTLCD,實現觸摸屏功能。


  •          
    課程設計任務要求
   本次的課程設計目的是實現一個經典的貪吃蛇游戲,整個游戲實現功能分別為:
  1、初始化程序。
  2、隨機紅點、左轉、右轉、判斷邊框。
  •          系統硬件設計
硬件設計原理圖
   根據此硬件設計圖再結合軟件設計就能做出此游戲。
  •          系統軟件實現
     此次的課程設計在于開發個貪吃蛇游戲,其流程圖如下圖所示。
程序流程圖
為方便介紹,此軟件實現只給出主要程序部分:
1、本例程提供了硬件平臺的初始化
GPIO是常規輸入/輸出端口,STM32F103RCT6有PA、PB、PC、PD、PE共5個16位的GPIO。STM32的GPIO都可編程,具有很多復用功能。GPIO可以配置為很多總模式,這些模式有:輸入浮空、輸入上拉、輸入下拉、模擬輸入、開漏輸入、推挽輸出、推挽復用、開漏復用。通過對GPIO寄存器編程,可以設置每個端口的工作模式。
24C02 EEPROM是開發板板載的 2Kbit(256 個字節)EEPROM ,型號為:24C02,用于掉電數據保存。因為 STM32 內部沒有 EEPROM,所開發板外擴了24C02,用于存儲重要數據,用來做IIC 實驗,該芯片直接掛在 STM32 的 IO 口上。
IIC(Inter-Integrated Circuit)總線是一種由 PHILIPS 公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。 它是由數據線 SDA 和時鐘 SCL 構成的串行總線, 可發送和接收數據。在 CPU 與被控 IC 之間、IC 與 IC 之間進行雙向傳送,高速 IIC 總線一般可達 400kbps 以上。IIC 總線在傳送數據過程中共有三種類型信號, 它們分別是:開始信號、結束信號和應答信號。
開始信號:SCL 為高電平時,SDA 由高電平向低電平跳變,開始傳送數據。
結束信號:SCL 為高電平時,SDA 由低電平向高電平跳變,結束傳送數據。
應答信號: 接收數據的 IC 在接收到 8bit 數據后, 向發送數據的 IC 發出特定的低電平脈沖,表示已收到數據。CPU 向受控單元發出一個信號后,等待受控單元發出一個應答信號,CPU 接收到應答信號后,根據實際情況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現故障。

  1. /********************************************************************
  2. * 名    稱:AT24CXX_Init(void)
  3. * 功    能:初始化IIC接口
  4. ********************************************************************/
  5. //初始化IIC接口
  6. void AT24CXX_Init(void)
  7. {
  8.               IIC_Init();
  9. }
  10. void IIC_Init(void)
  11. {                                                                          
  12.               GPIO_InitTypeDef GPIO_InitStructure;
  13.               //RCC->APB2ENR|=1<<4;//先使能外設IO PORTC時鐘
  14.               RCC_APB2PeriphClockCmd(              RCC_APB2Periph_GPIOC, ENABLE );            
  15.                
  16.               GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_11;
  17.               GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;   //推挽輸出
  18.               GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  19.               GPIO_Init(GPIOC, &GPIO_InitStructure);

  20.               IIC_SCL=1;
  21.               IIC_SDA=1;

  22. }
  23. /*******************************************************************
  24. * 名    稱:void CMLCD_Init(void)
  25. * 功    能:初始化觸摸屏的硬件接口
  26. ********************************************************************/
  27. void CMLCD_Init(void)
  28. {
  29.               GPIO_InitTypeDef GPIO_InitStructure;
  30.               RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//使能PORTC時鐘
  31.             
  32.               GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0|GPIO_Pin_3|GPIO_Pin_13;
  33.               GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //設置成推免輸出
  34.               GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  35.               GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化GPIOC 0 3 13
  36.             
  37.               GPIO_InitStructure.GPIO_Pin  =GPIO_Pin_2|GPIO_Pin_1; //初始化GPIOC 2 1
  38.               GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;//浮空輸入
  39.               GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  40.               GPIO_Init(GPIOC, &GPIO_InitStructure);
  41.               TPEN=1;
  42. }
復制代碼

2、貪吃蛇功能控制
SPI是串行外設端口,是一種同步串行外設端口,它可以使MCU與各種外圍設備以串行方式進行通信、交換信息。STM32的SPI支持全雙工同步傳輸,可選擇以8或16位傳輸幀格式進行傳輸,支持多種模式。
USART為STM32的同步異步接收器。它提供了一種靈活的方法與使用異步串行數據格式的外部設備之間進行全雙工數據交換。USART利用分數波特率發生器提供寬范圍的波特率選擇。另外,它還允許多處理器通信。USART也可以使用DMA方式直接將接受的數據存儲到內存或從內存中批量發送數據,也支持多種中斷方式。
TFT-LCD 即薄膜晶體管液晶顯示器。其英文全稱為:Thin Film Transistor-Liquid CrystalDisplay。TFT-LCD 與無源 TN-LCD、STN-LCD 的簡單矩陣不同,它在液晶顯示屏的每一個象素上都設置有一個薄膜晶體管(TFT) ,可有效地克服非選通時的串擾,使顯示液晶屏的靜態特性與掃描線數無關,因此大大提高了圖像質量。TFT-LCD 也被叫做真彩液晶顯示器。ALIENTEK 提供的 2.8寸TFTLCD 模塊,其驅動芯片有很多種類型,比如有:ILI9341/ILI9325/RM68042/RM68021/ILI9320/ILI9328/LGDP4531/LGDP4535/SPFD5408/SSD1289/1505/B505/C505/NT35310/NT35510 等。
LED(DS0 和 DS1)。其電路在ALIENTEK MiniSTM32開發板上默認是已經連接好了的。DS0接PA8,DS1接PD2。

  •          系統調試及實驗結果
調試過程:
在測試過程中出現了一些問題,點觸的時候點不準確,我覺得可以加上觸屏校準,使其精準。
實驗結果:
達到隨機生成果實、蛇上下左右移動、判斷蛇生死的功能,達到了設計的目的。實驗設計效果如下圖所示:

  •          課程設計總結
    本學期嵌入式課程在不知不覺中結束了,雖說這次課程時間不是很長,但是感覺自己收獲頗豐,不僅學習到了一些新知識,回顧了以前的一些快要遺忘的知識點,而且使自己的學習目標更加明確,學習方法更加完善,也體會到軟件開發的趣味,更加清楚地認識到了自己在軟件開發及學習上的一些不足之處。在這次的課程中不僅檢驗了我所學習的知識,也培養了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設計過程中,與同學分工設計,和同學們相互探討,相互學習,相互監督。學會了合作,學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世。
    課程是我們專業課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業工作前一個必不少的過程。“千里之行始于足下”,通過這次課程設計,我深深體會到這句千古名言的真正含義。也感謝老師和同學們的幫助。我今天認真的進行作業設計,學會腳踏實地邁開這一步,就是為以后打下堅實的基礎。

  1. /********************************************************************
  2. * 名    稱:int main(void)
  3. * 功    能:主函數
  4. ********************************************************************/
  5. #include "led.h"
  6. #include "delay.h"
  7. #include "sys.h"
  8. #include "usart.h"
  9. #include "lcd.h"
  10. #include "tanchishe.h"
  11. #include "cmlcd.h"
  12. #include "timeit.h"
  13. #include "stdlib.h"
  14. //畫一個大點(2*2的點)                              
  15. //x,y:坐標
  16. //color:顏色
  17. void TP_Draw_Big_Point(u16 x,u16 y,u16 color)
  18. {                 
  19.               POINT_COLOR=color;
  20.               LCD_DrawPoint(x,y);//中心點
  21.               LCD_DrawPoint(x+1,y);
  22.               LCD_DrawPoint(x,y+1);
  23.               LCD_DrawPoint(x+1,y+1);                                          
  24. }                           
  25. int main(void)
  26. {
  27.               u8 sta,sta1;
  28.               u16 rand_color;
  29.               delay_init();                                //延時函數初始化               
  30.               uart_init(9600);                            //串口初始化為9600
  31.               LED_Init();                                                          //初始化與LED連接的硬件接口
  32.               LCD_Init();
  33.               time_init();
  34.               CMLCD_Init();      // 觸摸屏初始化
  35.               AT24CXX_Init();    //eeprom 初始化
  36.               sta1=TP_Get_Adjdata();
  37.               if(!sta1)
  38.               {            
  39.                                           sta=CMLCD_Adjust();
  40.                                           if(sta)
  41.                                           {            
  42.                                                         TP_Save_Adjdata();   //校準成功就保存參數
  43.                                                         LCD_ShowString(40,40,100,16,16,"SUCCESSFUL!");
  44.                                           }
  45.                                           else
  46.                                           {
  47.                                                         LCD_ShowString(40,40,100,16,16,"NO SUCCESSFUL!");
  48.                                           }
  49.               }
  50.               TABCHISHE_Init();
  51.               while(1)
  52.               {
  53.                             delay_ms(500);
  54.     //產生隨機坐標
  55.                                           if(snake.eat_sta)
  56.                                           {            
  57.                                                         snake.eat_sta=0;
  58.                                                         snake.rand_x=8*(1+(int)(29.0*rand()/(RAND_MAX+1.0)));     
  59.                                                         snake.rand_y=8*(1+(int)(34.0*rand()/(RAND_MAX+1.0)));
  60.                                                         rand_color=LCD_ReadPoint(snake.rand_x,snake.rand_y);
  61.                                                         while(rand_color==BLUE)  //隨機點不能是蛇身上的點
  62.                                                         {
  63.                                                                       snake.rand_x=8*(1+(int)(29.0*rand()/(RAND_MAX+1.0)));     
  64.                                                                       snake.rand_y=8*(1+(int)(34.0*rand()/(RAND_MAX+1.0)));
  65.                                                                       rand_color=LCD_ReadPoint(snake.rand_x,snake.rand_y);
  66.                                                         }
  67. LCD_Fill(snake.rand_x,snake.rand_y,snake.rand_x+snake.size,snake.rand_y+snake.size,RED);
  68.                                           }
  69.                             LED0=!LED0;
  70.                             TIM_ITConfig(TIM3,TIM_IT_Update,DISABLE );   //關中斷 防止中斷服務函數對 顯示坐標的影響
  71.                             snake.eat_sta=show(snake.d1);
  72.                             disappear(snake.d2,turn);
  73.                             TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE );   //開中斷
  74.               }
  75. }
  76. /*******************************************************************
  77. * 名    稱:void TABCHISHE_Init(void)
  78. * 功    能:貪吃蛇初始化
  79. ********************************************************************/
  80. void TABCHISHE_Init(void)
  81. {
  82.               Shuzu_Init(turn);      // 轉向數組初始化
  83.               LCD_Clear(WHITE);
  84.               POINT_COLOR=RED;
  85.               LCD_DrawLine(0,282, 240, 282);
  86.               LCD_DrawLine(120,280, 120, 320);
  87.               LCD_ShowString(20,290,72,12,12,"left/down");
  88.               LCD_ShowString(20,303,36,12,12,"score:");
  89.               LCD_ShowString(140,290,64,12,12,"right/up");
  90.             
  91.               // 以下為貪吃蛇程序初始化
  92.               LCD_Fill(120,160,136,168,BLUE); //一開始蛇長度為2個SIZE
  93.               snake.eat_sta=0;
  94.               snake.length=2;
  95.               LCD_ShowxNum(56,303,snake.length,3,12,0x80);
  96.               snake.max=MAX;
  97.               snake.size=8;
  98.               snake.d1=0;
  99.               snake.d2=0;
  100.               snake.x1=128;snake.x2=snake.x1+snake.size;snake.y1=160;snake.y2=snake.y1+snake.size;
  101. snake.X1=112;snake.X2=snake.X1+snake.size;snake.Y1=160;snake.Y2=snake.Y1+snake.size;
  102.               snake.rand_x=8*(1+(int)(29.0*rand()/(RAND_MAX+1.0)));     
  103.               snake.rand_y=8*(1+(int)(34.0*rand()/(RAND_MAX+1.0)));
  104. LCD_Fill(snake.rand_x,snake.rand_y,snake.rand_x+snake.size,snake.rand_y+snake.size,RED);
  105. }
  106. /*******************************************************************
  107. * 名    稱:void disappear(u8 d,u16 turn[MAX][3])
  108. * 功    能:貪吃蛇移動尾部消失格子
  109. ********************************************************************/
  110. //新消失的一格
  111. //參數: 往左消失,往右消失
  112. void disappear(u8 d,u16 turn[MAX][3])
  113. {
  114.               int i=0;
  115.               if(d==0)    //默認 方向為從左到右
  116.               {
  117.                             snake.X1=snake.X1+snake.size;snake.X2=snake.X2+snake.size;
  118.                             LCD_Fill(snake.X1,snake.Y1,snake.X2,snake.Y2,WHITE);   //新顯示的一格
  119.               }
  120.               else if(d==1)  //方向為下到上
  121.               {
  122.                             snake.Y1=snake.Y1-snake.size;snake.Y2=snake.Y2-snake.size;
  123.                             LCD_Fill(snake.X1,snake.Y1,snake.X2,snake.Y2,WHITE);   //新顯示的一格
  124.               }
  125.               else if(d==2)  //方向為右到左
  126.               {
  127.                             snake.X1=snake.X1-snake.size;snake.X2=snake.X2-snake.size;
  128.                             LCD_Fill(snake.X1,snake.Y1,snake.X2,snake.Y2,WHITE);   //新顯示的一格
  129.               }
  130.               else if(d==3)  //方向為上到下
  131.               {
  132.                             snake.Y1=snake.Y1+snake.size;snake.Y2=snake.Y2+snake.size;
  133.                             LCD_Fill(snake.X1,snake.Y1,snake.X2,snake.Y2,WHITE);   //新顯示的一格
  134.               }            
  135.               for(i=0;i<MAX;i++)   //先判斷是否是轉方向點
  136.               {
  137.                             if(snake.X1==turn[i][0]&&snake.Y1==turn[i][1])
  138.                             {
  139.                                           snake.d2=turn[i][2];
  140.                                           turn[i][0]=400;                                                                                                                                            //轉向完畢 清除記錄的坐標(將坐標變為LCD以外區域)
  141.                                           turn[i][1]=400;
  142.                                           break;
  143.                             }            
  144.               }
  145.             
  146. }
  147. /*******************************************************************
  148. * 名    稱:u8 show(u8 d)
  149. * 功    能:貪吃蛇移動前部新增格子
  150. ********************************************************************/

  151. //新顯示的一格
  152. //參數: 往左顯示,往右顯示
  153. u8 show(u8 d)
  154. {
  155.               static u8 i=0;
  156.               u16 color,color1;
  157.               //判斷是否撞到自己的身體
  158.               if(d==0)
  159.               {
  160.                             color=LCD_ReadPoint(snake.x2+4,snake.y2-4);
  161.                             color1=LCD_ReadPoint(snake.x2+3,snake.y2-3);
  162.                             if(color==BLUE&&color1==BLUE)
  163.                             {
  164.                                           LCD_ShowString(40,40,100,16,16,"NO SUCCESSFUL!");
  165.                                           printf("color%x color1%x\r\n",color,color1);
  166.                                           printf("shezhuangziji0\r\n");
  167.                                           delay_ms(5000);
  168.                                           TABCHISHE_Init();
  169.                                           d=snake.d1;
  170.                             }
  171.               }
  172.               else if(d==1)
  173.               {
  174.                             color=LCD_ReadPoint(snake.x1+4,snake.y1-4);
  175.                             color1=LCD_ReadPoint(snake.x1+3,snake.y1-3);
  176.                             if(color==BLUE&&color1==BLUE)
  177.                             {
  178.                                           LCD_ShowString(40,40,100,16,16,"NO SUCCESSFUL!");
  179.                                           printf("color%x color1%x\r\n",color,color1);
  180.                                           printf("shezhuangziji1%d  %d  %d\r\n",snake.d1,snake.d2,d);
  181.                                           delay_ms(5000);
  182.                                           TABCHISHE_Init();
  183.                                           d=snake.d1;
  184.                                           printf("%d  %d  %d\r\n",snake.d1,snake.d2,d);
  185.                             }
  186.               }
  187.               else if(d==2)
  188.               {
  189.                             color=LCD_ReadPoint(snake.x1-4,snake.y1+4);
  190.                             color1=LCD_ReadPoint(snake.x1-3,snake.y1+3);
  191.                             if(color==BLUE&&color1==BLUE)
  192.                             {
  193.                                           LCD_ShowString(40,40,100,16,16,"NO SUCCESSFUL!");
  194.                                           printf("color%x color1%x\r\n",color,color1);
  195.                                           printf("shezhuangziji2\r\n");
  196.                                           delay_ms(5000);
  197.                                           TABCHISHE_Init();
  198.                                           d=snake.d1;
  199.                             }
  200.               }
  201.               else if(d==3)
  202.               {
  203.                             color=LCD_ReadPoint(snake.x2-4,snake.y2+4);
  204.                             color1=LCD_ReadPoint(snake.x2-3,snake.y2+3);
  205.                             if(color==BLUE&&color1==BLUE)
  206.                             {
  207.                                           LCD_ShowString(40,40,100,16,16,"NO SUCCESSFUL!");
  208.                                           printf("color%x color1%x\r\n",color,color1);
  209.                                           printf("shezhuangziji3\r\n");
  210.                                           delay_ms(5000);
  211.                                           TABCHISHE_Init();
  212.                                           d=snake.d1;
  213.                             }
  214.               }
  215.               if((snake.y1==0&&d==1)||(snake.x1==0&&d==2)||(snake.y2==280&&d==3)||(snake.x2==240&&d==0))  //蛇撞到墻了
  216.               {
  217.                             LCD_ShowString(40,40,100,16,16,"NO SUCCESSFUL!");
  218.                             printf("shezhuangqiang\r\n");
  219.                             delay_ms(5000);
  220.                             TABCHISHE_Init();
  221.                             d=snake.d1;
  222.               }
  223.               if(snake.rand_x==snake.x1&&snake.rand_y==snake.y1)  //判斷是否增加長度即碰到隨機點
  224.               {
  225.                             i=1;
  226.                             if(snake.d2==0)
  227.                             {snake.X1-=16;snake.X2-=16;} //在尾端增加一格
  228.                             else if(snake.d2==1)
  229.                             {snake.Y1+=16;snake.Y2+=16;}
  230.                             else if(snake.d2==2)
  231.                             {snake.X1+=16;snake.X2+=16;}
  232.                             else if(snake.d2==3)
  233.                             {snake.Y1-=16;snake.Y2-=16;}
  234.                             snake.length++;
  235.                             LCD_ShowxNum(56,303,snake.length,3,12,0x80);
  236.               }
  237.               if(d==0)    //默認 方向為從左到右
  238.               {
  239.                             snake.x1=snake.x1+snake.size;snake.x2=snake.x2+snake.size;
  240.                             LCD_Fill(snake.x1,snake.y1,snake.x2,snake.y2,BLUE);   //新顯示的一格
  241.               }
  242.               else if(d==1)  //方向為下到上
  243.               {
  244.                             snake.y1=snake.y1-snake.size;snake.y2=snake.y2-snake.size;
  245.                             LCD_Fill(snake.x1,snake.y1,snake.x2,snake.y2,BLUE);   //新顯示的一格
  246.               }
  247.               else if(d==2)  //方向為右到左
  248.               {
  249.                             snake.x1=snake.x1-snake.size;snake.x2=snake.x2-snake.size;
  250.                             LCD_Fill(snake.x1,snake.y1,snake.x2,snake.y2,BLUE);   //新顯示的一格
  251.               }
  252.               else if(d==3)  //方向為上到下
  253.               {
  254.                             snake.y1=snake.y1+snake.size;snake.y2=snake.y2+snake.size;
  255.                             LCD_Fill(snake.x1,snake.y1,snake.x2,snake.y2,BLUE);   //新顯示的一格
  256.               }
  257.               if(i==1)
  258.               {              i=0;return 1;}
  259.               return 0;
  260. }            
  261. /*******************************************************************
  262. * 名    稱:void CM_Scan()
  263. * 功    能:觸摸屏掃描函數
  264. ********************************************************************/
  265. void CM_Scan()
  266. {
  267.               static u8 times=0;
  268.               static u8 i=0;
  269.               if(TPEN==0&&!times)
  270.                             {
  271.                                           times=1;
  272.                                           if(CMLCD_GetLCD())        //取坐標成功后再選擇是否轉向
  273.                                           {            
  274.                                                         if(cmlcdxy.X>=0&&cmlcdxy.X<=120&&cmlcdxy.Y>=280&&cmlcdxy.Y<=320)
  275.                                                         {
  276.                                                                       if(snake.d1==0||snake.d1==2)
  277.                                                                                     snake.d1=3;
  278.                                                                       else if(snake.d1==1||snake.d1==3)
  279.                                                                                     snake.d1=2;
  280.                                                                       turn[i][0]=snake.x1;   //第i次轉彎坐標
  281.                                                                       turn[i][1]=snake.y1;           
  282.                                                                       turn[i][2]=snake.d1;      //第i次轉彎方向
  283.                                                                       i++;
  284.                                                                       if(i>MAX-1)
  285.                                                                       i=0;
  286.                                                         }
  287.                                                         else if(cmlcdxy.X>=121&&cmlcdxy.X<=240&&cmlcdxy.Y>=280&&cmlcdxy.Y<=320)
  288.                                                         {
  289.                                                                       if(snake.d1==0||snake.d1==2)
  290.                                                                                     snake.d1=1;
  291.                                                                       else if(snake.d1==1||snake.d1==3)
  292.                                                                                     snake.d1=0;
  293.                                                                       turn[i][0]=snake.x1;   //第i次轉彎坐標
  294.                                                                       turn[i][1]=snake.y1;             //第i次轉彎方向
  295.                                                                       turn[i][2]=snake.d1;
  296.                                                                       i++;
  297.                                                                       if(i>MAX-1)
  298.                                                                       i=0;
  299.                                                         }
  300.                                           }
  301.                             }else if(TPEN==1) times=0;
  302. }
復制代碼

完整的Word格式文檔51黑下載地址:
STM32課程設計貪吃蛇.docx (1.49 MB, 下載次數: 116)


回復

使用道具 舉報

ID:451276 發表于 2018-12-21 08:46 | 顯示全部樓層
不錯啊 加油
回復

使用道具 舉報

ID:461950 發表于 2019-1-4 16:53 | 顯示全部樓層
學習一下~~加油
回復

使用道具 舉報

ID:434334 發表于 2019-6-24 12:10 | 顯示全部樓層
請問能直接弄到戰艦開發板上用嗎?
回復

使用道具 舉報

ID:667447 發表于 2019-12-21 09:59 | 顯示全部樓層
好帖,謝謝樓主
回復

使用道具 舉報

ID:546558 發表于 2019-12-21 16:29 | 顯示全部樓層
大神,請問這個除了觸摸屏還需不需要其他部件,戰艦開發板上的4.8寸TFTLCD可以直接使用嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩小视频在线 | 亚洲精品久久久久久宅男 | 欧美中文字幕 | 国产精品久久久久久妇女6080 | 高清欧美性猛交 | 国产美女视频黄a视频免费 国产精品福利视频 | 91精品国产91久久久 | 国产美女福利在线观看 | 在线天堂免费中文字幕视频 | 欧美极品在线观看 | 久在线| 天天干视频 | 国产黄色麻豆视频 | 日韩一区av | 久久网亚洲 | 中文字幕国产日韩 | 中文字幕11页 | 国产精品美女久久久久aⅴ国产馆 | 久久成人国产精品 | 在线看片国产 | 中文字幕日韩一区 | 污污免费网站 | av网站免费看 | 国产探花| 欧美一级免费看 | 99re6在线视频 | 久久国产成人精品国产成人亚洲 | 网黄在线| 国产精品入口麻豆www | 先锋资源站 | 天天色天天 | 欧美精品乱码久久久久久按摩 | 国产精品久久久久久久久久久久久久 | 一区二区三区国产视频 | 欧日韩在线观看 | 国产精品国产成人国产三级 | 谁有毛片| 久久亚洲精品国产精品紫薇 | 精品国产乱码久久久久久影片 | 91免费高清视频 | 亚洲欧美一区二区三区在线 |