。 我试着直接把 LCD->RAM 的值读出来是FFFF。。感觉写命令程序就没进去过,所以一直读到FFFF....
AI代码解释 if(lcddev.id==0X5761)lcddev.id=0X1963;//SSD1963读回的ID是5761H,为方便区分,我们强制设置为1963}}}printf(" LCD ID:%x\r\n",lcddev.id);//打印LCD ID 未使能串口则注释掉if(lcddev.id==0X9341)//9341初始化{LCD_WR_REG(0xCF);LCD_WR_DATA(0x00); 代码分析 在完成整个工程之前...
Window函数设置的显示窗口中,例如,若设置了一个usX=10,usY=30,usWidth=50, usHeight=20的窗口,然后再连续填充50*20个颜色值为0XFFFF的像素数据,即可在(10,30)的起始坐标处显示一个宽50像素高20像素的白色矩形。 绘制单个像素点 利用前面的ILI9341_OpenWindow...
而LCD_R7/G7/B7则用来设置LCD的ID,由于RGBLCD没有读写寄存器,也就没有所谓的ID,这里我们通过在模块上面,控制R7/G7/B7的上/下拉,来自定义LCD模块的ID,帮助MCU判断当前LCD面板的分辨率和相关参数,以提高程序兼容性。这几个位的设置关系如表24.1.1.2所示:表24.1.1.2 ALIENTEK RGBLCD模块ID对应关系 ...
4.1、读ID指令 用于读取 LCD 控制器型号,通过型号可以执行不同的 LCD 初始化,以兼容不同的 LCD。 从上表可以看出,0xD3 指令后面跟了 4 个参数,最后 2 个参数,读出来是 0x93 和 0x41,刚好是我们控制器 ILI9481 的数字部分,从而,通过该指令,即可判别所用的 LCD 驱动器是什么型号,这样,我...
*/voidlcd_register_write(uint16_tregister_id,uint16_tvalue){ *(__IOuint16_t*) (BANK0_LCD_C)= register_id; *(__IOuint16_t*) (BANK0_LCD_D)= value; }/*! brief read the value of LCD register param[in] register_id: the register id ...
MX93 Sirius board (DT) [ 1.981179] Workqueue: events_unbound deferred_probe_work_func [ 1.981185] pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1.981190] pc : gpiod_set_value+0x5c/0xcc [ 1.981195] lr : ili9881c_prepare+0x94/0x1e8 [ 1.98...
Lcd_WriteRam(id,Num_Collect); Num_Collect=0; } } 至此就可以实现LCD数码屏幕的驱动。 3、低功耗设计 HC32L136进入深度休眠状态,不会改变端口状态,在进入休眠前根据需要更改 IO 的状态为休眠下的状态,所以在深度休眠状态下LCD数码屏可以继续显示工作。
1、读取ID指令:0xDA00、0xDB00、0xDC00;返回值0x8000; 根据读取的ID执行不同的初始化代码,该初始化代码厂家提供,不必深究。 2、存储访问控制指令:0x3600; 该指令可以控制连续GRAM时,指针的增长方向,由参数MY、MX、MV控制; 3、设置横坐标指令:0x2A00~0x2A03; ...
一、LCD基础知识 1.1 LCD硬件原理 在Mini2440裸机开发之LCD基础我们介绍了LCD的硬件原理,有兴趣的可以去看看,这里我们仅仅简述一下LCD的原理。 下图是LCD示意图,里面的每个点就是一个像素点。它里面有一个电子枪,一边移动,一边发出各种颜色的光。用动态图表示如下: 电