基于arm的电子手写板的应用实验报告内容摘要:

} void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure。 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG , ENABLE)。 = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9。 = GPIO_Speed_50MHz。 第 10 页 = GPIO_Mode_Out_PP。 GPIO_Init(GPIOF, amp。 GPIO_InitStructure)。 = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3。 = GPIO_Speed_50MHz。 = GPIO_Mode_IPU。 GPIO_Init(GPIOC, amp。 GPIO_InitStructure)。 = GPIO_Pin_6 | GPIO_Pin_8。 = GPIO_Speed_50MHz。 = GPIO_Mode_IPU。 GPIO_Init(GPIOG, amp。 GPIO_InitStructure)。 } ifdef USE_FULL_ASSERT void assert_failed(uint8_t* file, uint32_t line) { while (1) { } } endif . 主要函数说明 (1) 函数 1 A. 函数原型 void TP_DrawPointBlue(uint16_t Xpos,uint16_t Ypos) { LCD_SetPoint(Xpos,Ypos,Blue)。 /* Center point */ LCD_SetPoint(Xpos+1,Ypos,Blue)。 LCD_SetPoint(Xpos,Ypos+1,Blue)。 LCD_SetPoint(Xpos+1,Ypos+1,Blue)。 } void TP_DrawPointRed(uint16_t Xpos,uint16_t Ypos) { LCD_SetPoint(Xpos,Ypos,Red)。 /* Center point */ LCD_SetPoint(Xpos+1,Ypos,Red)。 LCD_SetPoint(Xpos,Ypos+1,Red)。 LCD_SetPoint(Xpos+1,Ypos+1,Red)。 } void TP_DrawPointGreen(uint16_t Xpos,uint16_t Ypos) { LCD_SetPoint(Xpos,Ypos,Green)。 /* Center point */ 第 11 页 LCD_SetPoint(Xpos+1,Ypos,Green)。 LCD_SetPoint(Xpos,Ypos+1,Green)。 LCD_SetPoint(Xpos+1,Ypos+1,Green)。 } void TP_DrawPointBlack(uint16_t Xpos,uint16_t Ypos) { LCD_SetPoint(Xpos,Ypos,Black)。 /* Center point */ LCD_SetPoint(Xpos+1,Ypos,Black)。 LCD_SetPoint(Xpos,Ypos+1,Black)。 LCD_SetPoint(Xpos+1,Ypos+1,Black)。 } void TP_DrawPointDelete(uint16_t Xpos,uint16_t Ypos) { uint8_t x,y。 for(x=0。 x=20。 x++) for(y=0。 y=20。 y++) { LCD_SetPoint(Xpos,Ypos,RGB565CONVERT(200,200,120))。 /* Center point */ LCD_SetPoint(Xpos+x,Ypos,RGB565CONVERT(200,200,120))。 LCD_SetPoint(Xpos,Ypos+y,RGB565CONVERT(200,200,120))。 LCD_SetPoint(Xpos+x,Ypos+y,RGB565CONVERT(200,200,120))。 } } B. 函数实现 画笔的颜色 (2) 函数 2 A. 函数原型 void TouchPanel_Calibrate(void) { uint8_t i。 Coordinate * Ptr。 for(i=0。 i3。 i++) { LCD_Clear(Cyan)。 GUI_Chinese(100,10,轻点方框屏幕校正 ,Black,White)。 delay_ms(500)。 DrawCross(DisplaySample[i].x,DisplaySample[i].y)。 do { Ptr=Read_Ads7846()。 } while( Ptr == (void*)0 )。 ScreenSample[i].x= Ptrx。 ScreenSample[i].y= Ptry。 第 12 页 } setCalibrationMatrix( amp。 DisplaySample[0],amp。 ScreenSample[0],amp。 matrix )。 LCD_Clear(RGB565CONVERT(200,200,120))。 } B. 函数实现 屏幕校准 4. 测试 . 测试内容 1 . 测试结果 能在 LCD 上进行手写输入。 . 测试评价 很好的实现并能精确的输入。 . 测试内容 2 . 测试结果 通过按钮进行清屏和颜色的选择。 . 测试评价 很好的实现了 4 种颜色选择和清屏的功能。 5. 总结 . 任务完成情况 能够完成基本功能和拓展功能,清屏选择颜色很好实现。 . 不足之处 可供选择的颜色比较少,无法在触摸屏上选择颜色。 . 改进方向 在 LCD 上进行颜色的选择,放弃在摇杆上选择。 第 13 页 参考文献 [1]. 主要责任者.连续出版物 文献题名[ J].刊名,出版年份,卷号 (期号 ): 起止页码. [2]. 袁庆龙,候文义. NiP 合金镀层组织形貌及显微硬度研究[J].太原理工大学学报, 2020, 32(1):5153. [3]. 主要责任者.专著 文献题名[M].出版地:出版者,出版年:页码. [4]. 刘国钧,郑如斯.中国书的故事[M].北京:中国青年出版社, 1979: 115. [5]. 析出责任者.会议论文集中析出的题名 [A].见 (英文用 In):主编.会议论文集名 [C]. (供选择项:会议名,会址,开会年 )出版地:出版者,出版年:起止页码. [6]. 孙品一.高校学报编辑工作现代化特征[ A].见:中国高等学校自然科学学报研究会.科技编辑学论文集 (2)[C].北京:北京师范大学出版社, 1998: 1022. [7]. 析出责任者.专著中析出的文献题名 [A].见 (英文用 In):专著责任者.书名 [M].出版地:出版者,出版年:起止页码. [8]. 罗云.安全科学理论体系的发展及趋势探讨 [A].见:白春华,何学秋,吴宗之. 21 世纪安全科学与技术的发展趋势 [M].北京:科学出版社, 2020: 15. [9]. 主要责任者.学位论文 文献题名[D].保存地:保存单位,年份. 第 14 页 [10]. 附录〔左齐标题 1〕 附录 1:原理图 附录 2:源程序 Main: /******************************************。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。