草庐IT

LCD_ShowString

全部标签

ARM Linux DIY(三)板载串口和 LCD 调试

前言今天焊接两大关键输入输出设备:串口和屏幕。串口串口部分使用CP2102N芯片(USB转TTL),这样用一根数据线连接板子和PC就可以直接调试了。焊接CP2102和TypeC上电调试,串口可以正常输入输出。看来,虽然是QFN封装,只要尺寸大一点,还是很容易焊接成功的。屏幕重头戏在屏幕,倒不是说屏幕焊接有多难,而是软件调试折腾了两个晚上。屏幕焊接ST7789V驱动调试step1:使能内核驱动编译选项屏幕的驱动芯片为ST7789V,就在内核的menuconfig中搜索ST7789V搜到了这两项,遂将这两项都置为了[y],这里也为自己埋下了个坑,这两个驱动需要二选一。step2:配置设备树arch

<Linux开发>驱动开发 -之- Linux LCD 驱动

<Linux开发>驱动开发-之-LinuxLCD驱动交叉编译环境搭建:<Linux开发>linux开发工具-之-交叉编译环境搭建uboot移植可参考以下:<Linux开发>-之-系统移植uboot移植过程详细记录(第一部分)<Linux开发>-之-系统移植uboot移植过程详细记录(第二部分)<Linux开发>-之-系统移植uboot移植过程详细记录(第三部分)(uboot移植完结)Linux内核及设备树移植可参考以下:<Linux开发>系统移植-之-linux内核移植过程详细记录(第一部分)<Linux开发>系统移植-之-linux内核移植过程详细记录(第二部分完结)Linux文件系统构建移

ZYNQ7000 SPI LCD与Petalinux

前言ZYNQ内部集成两个ARMCortexA9核心,Xilinx也推出了Petalinux工具,与Vidado搭配可以方便地完成Linux的uboot、kernel、rootfs部署。开发板上集成了HDMI,但是需要在FPGA中实现逻辑,但是实现之后占用了7010快一半的资源,多少有点离谱,而且HDMI还是不方便,所以就用linux内核中的fbtft驱动来实现显示,只占用了几个EMIO以及PS端的SPI即可实现。文中Vivado以及Petalinux版本均为v2018.3。Vivado在上文的基础上在PS的ZYNQ7ProcessingSystem中增加使能SD0,ETH0,QSPIFlash

【STM32篇】LCD显示汉字(从W25Q64中读取GBK字库)

    汉字显示在很多单片机产品中都需要用到,显示个别汉字可使用MCU的flash保存汉字字模,而显示更多的汉字就可能要在产品中保存一整个字库作为汉字储备。对于STM32F103VET6单片机FLASH只有512K字节,要存下一个字库就有点乏力且浪费单片机资源。在上一章节中完成了W25Q64驱动,本篇将介绍将GBK字库写入W25Q64中,并读取至LCD屏上显示。LCD和W25Q64驱动请参考以下文章:【STM32篇】驱动LCD显示屏【STM32篇】SPI时序驱动W25Q64(硬件SPI和模拟SPI)1.汉字字库        常用的汉字内码系统有GB2312、GB13000、UNICODE、G

【STM32篇】驱动LCD显示屏

本次使用的硬件设备为野火的霸道V2开发板,显示器控制芯片型号为ILI9341,实际型号为ST7789V。在编写代码时参考的是ILI9341数据手册,二者差别不大,都是240*320分辨率。1.简介        ILI9341是一个用于TFT液晶显示的单芯片控制驱动器,具有262144色的240RGBx320像素显示解决方案。ILI9341支持8/9/16/18位数据总线的MCU接口,6/16/18位数据总线RGB接口以及3/4线的SPI接口。移动图像区域可以通过窗口地址功能再内部GRAM来指定。指定的窗口区域可以选择性地更新,因此,可以在图像区域同时独立的显示移动图像。系统接口:    80

基于stm32物联网开发板(2)--LCD屏幕

基于stm32物联网开发板(2)–LCD屏幕LCD应用展示:LCD屏幕应用1.概述屏幕尺寸为1.3寸,分辨率240*240,颜色格式RGB565,驱动IC:ST7789VW;超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕);宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片;采用7线制SPI接口;工作温度范围为工业级(-20℃~60℃);军工级工艺标准,长期稳定工作;硬件接口:引脚说明LEDKPB0背光CSPA4片选SCLPA5时钟SDAPA7主机输出RESPB1复位脚(电平复位)D/CPC4数据命令选择脚2.通讯协议  ST7789VW是一款用于262K彩色图

LCD显示屏 - lvds点屏问题

  本文主要以lvds点屏过程中出现的一些问题,针对这些问题进行分析,以及相对的解决方案。这些问题也可能出现在其他显示屏的调试上,因此这篇文章重在描述现象、原因分析、解决方案的原理,不会去说怎么改代码、改哪一行、哪一些代码这些非常细节的点:重原理不重细节,期望是能以此举一反三,解决同类型的问题。文章目录1.显示屏屏闪(纹波)1.1现象描述1.2原因分析1.3解决方案2.启动过程中闪白屏2.1现象描述2.2原因分析2.3解决方案3.触点坐标下垂3.1问题描述3.2原因分析3.3解决方案1.显示屏屏闪(纹波)1.1现象描述  显示屏出现抖动屏闪的现象,如下图所示:1.2原因分析  首先有个屏幕信息

TFT-LCD LVGL与硬件交互

TFT-LCDLVGL与硬件交互屏幕能正常显示LVGL官方例程,说明LVGL移植成功了,本次实验使用屏幕通过LVGL控制开发板硬件实现效果用LVGL画两个按钮和一个标签,一个按钮控制蜂鸣器,另一个按钮控制继电器,标签显示“TFT-LCD”新建GUI.c和GUI.h首先在工程上新建自己的GUI.c源文件和GUI.h头文件,再把蜂鸣器Buzzer和继电器Relay的源文件和头文件都加到工程里来参考lv_ex_get_started_1.c代码lv_ex_get_started_1函数就是创建了一个带"Button"标签的按钮,函数里设置了按钮的显示位置,按钮大小,按钮点击事件;点击事件是通过回调函

STM32单片机直流电机PID速度控制正反转控制(霍尔磁铁测速)LCD1602

实践制作DIY-GC0116-直流电机PID速度控制一、功能说明:基于STM32单片机设计-直流电机PID速度控制功能介绍:STM32F103C系列最小系统+LCD1602+直流电机+磁铁+霍尔传感器+MX15系列驱动模块+4个按键(速度减、速度加、开/关、正转/反转)1.直流电机安装磁铁转盘配合霍尔传感器传感器可以准确输出电机的速度信号,通过单片机采集速度,实时显示在LCD1602上面xxxxRPM(也就是转每分钟)。2.通过按键设定目标速度,然后通过PID算法输出PWM信号精确控制电机速度。3.按键设定目标速度范围(0~3600转每分钟),按键点击一次+60或者-60转每分钟。4.有一个开

硬件SPI+LCD增强屏幕刷新率

1.前言        近日在研究如何提高LCD的刷新率,修改程序发现LCD屏幕用的是模拟通信,所以刷新特别慢,在设置硬件SPI,并使用通过HAL库HAL_SPI_Transmit()函数发送数据后刷新率并没有提升,为此疑惑了很久。    对此研究了整整一两天,网上找到可能的答案并在此记录一下,网上说可能是“HAL库的HAL_SPI_Transmit()函数其实并没有这么快,建议改一下寄存器的方法试一试”,也许是HAL库并不完善,之后我尝试该方法,发现刷新率瞬间提高了。    设备芯片用的是STM32F103C8T6,目的仅仅是通过SPI发送数据给LCD屏幕,而手册规定STM32的SPI时钟最