搜索
bottom↓
回复: 79

提取uC/OS液晶驱动代码(Micrium-ST-uCOS-II-LCD-STM32)【恢复】

[复制链接]

出0入0汤圆

发表于 2008-11-2 10:39:45 | 显示全部楼层 |阅读模式
   个人比较喜欢老版本uC/OS的程序风格,JB现在应该不写程序了。废话少说,进入正题!o(∩_∩)o...



   每次用到液晶屏都要写一大堆繁琐的代码,烦透了!准备建立一个自己的标准LCD库。方便以后移植。于是有了提取uC/OS的底层液晶驱动的念头。

          

1.方便和GUI接口。



2.脱离操作系统。



3.代码效率尽量高(320*240的液晶屏举例,如果没个点能优化掉10个指令的话。那么刷新一次屏幕将节省768000个指令周期)



以下是我提取的uC/OS代码,重写了关键函数。希望对大家有所帮助。



    控制器  :ILI9325

    编译环境:IAR4.42

    源文件  :Lcd.c  Lcd.h fonts.h

    功   能 :显示英文字符 画圆 画线 画矩形 填充矩形

    函数列表:

              /*----- High layer function -----*/

              void LCD_Setup(void);               /*初始化LCD*/

              void LCD_SetTextColor(vu16 Color);  /*设置前景色*/

              void LCD_SetBackColor(vu16 Color);  /*设置背景色*/

              void LCD_ClearLine(u8 Line);        /*清行*/

              void LCD_Clear(u16 Color);          /*清屏*/

              void LCD_SetCursor(u8 Xpos, u16 Ypos);   /*设置光标位置*/

              void LCD_DrawChar(u8 Xpos, u16 Ypos, uc16 *c);   /*写字符*/

              void LCD_DisplayChar(u8 Line, u16 Column, u8 Ascii);  /*写ascii字符*/

              void LCD_DisplayStringLine(u8 Line, u8 *ptr);   /*显示字符串*/

              void LCD_SetDisplayWindow(u8 Xpos, u16 Ypos, u8 Width, u16 Height);/*设置窗口模式*/

              void LCD_WindowModeDisable(void);/*关闭窗口模式*/

              /*-------Draw function-------------*/

              void LCD_DrawLine(u8 Xpos, u16 Ypos, u16 Length, u8 Direction);/*画线*/

              void LCD_DrawRect(u8 Xpos, u16 Ypos, u8 Height, u16 Width);/*画圆*/

              void LCD_DrawRectFill(u8 Xpos, u16 Ypos, u8 Width, u16 Height,u16 fill);/*画矩形*/

              void LCD_DrawCircle(u8 Xpos, u16 Ypos, u16 Radius);/*填充矩形*/

              void LCD_DrawMonoPict(uc32 *Pict);/*显示单色图片*/

              void LCD_DrawBMP(u32 BmpAddress);/*显示BMP图片*/



              /*----- Medium layer function -----*/

              void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue);/*写控制寄存器*/

              void LCD_WriteRAMWord(u16 RGB_Code);/*写GRAM*/

              void LCD_PowerOn(void);/*上电周期*/

              void LCD_DisplayOn(void);/*启动显示*/

              void LCD_DisplayOff(void);/*关闭显示*/



              /*----- Low layer function -----*/

              void LCD_CtrlLinesConfig(void);/*硬件初始化*/

              void LCD_DisplayString(u8 Line, u8 *ptr);/*显示字符串*/





点击此处下载 ourdev_479000.rar(文件大小:9K) (原文件名:tft_source.rar) 



本贴被 418425051 编辑过,最后修改时间:2008-11-02,18:05:01.

出0入0汤圆

发表于 2008-11-2 10:42:40 | 显示全部楼层
  先顶一个
头像被屏蔽

出0入0汤圆

发表于 2008-11-2 10:45:51 | 显示全部楼层
谢谢阿宽!COOL !

出0入0汤圆

发表于 2008-11-2 14:55:04 | 显示全部楼层
记号...

出0入0汤圆

发表于 2008-11-2 16:24:52 | 显示全部楼层
提取的是 uC/GUI 还是 uC/OS ?

怎么觉得怪怪的。

出0入0汤圆

发表于 2008-11-2 16:41:25 | 显示全部楼层
谢谢楼主,标记一下

出0入0汤圆

 楼主| 发表于 2008-11-2 18:01:24 | 显示全部楼层
【4楼】 lvhaian 安哥 

 

uC/OS与stm32原装评估板例程中的液晶驱动 不是GUI

出0入0汤圆

发表于 2008-11-3 14:49:16 | 显示全部楼层
好!

出0入0汤圆

发表于 2008-12-15 16:51:22 | 显示全部楼层
收藏

出0入0汤圆

发表于 2008-12-18 08:33:36 | 显示全部楼层
谢谢,收藏!!!

出10入95汤圆

发表于 2008-12-19 22:05:56 | 显示全部楼层
顶顶顶

出0入0汤圆

发表于 2009-5-8 20:52:00 | 显示全部楼层
mack

出0入12汤圆

发表于 2009-5-22 16:34:15 | 显示全部楼层
jh

出0入0汤圆

发表于 2009-5-22 17:01:26 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-9-11 10:24:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-23 10:13:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-23 22:09:52 | 显示全部楼层
标记

出0入0汤圆

发表于 2009-11-23 22:36:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-27 10:33:00 | 显示全部楼层
不错,谢了,先试试看!

出0入0汤圆

发表于 2009-11-30 11:32:43 | 显示全部楼层
好东西要顶的,谢宽G

出0入0汤圆

发表于 2009-11-30 21:58:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-1 14:06:22 | 显示全部楼层
不错,谢了,先学习!

出0入0汤圆

发表于 2009-12-1 16:02:22 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-1-9 21:06:20 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-1-9 21:07:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-11 21:25:58 | 显示全部楼层
有了这个代码就可以更好地学习液晶驱动的编写了,感谢分享...

出0入0汤圆

发表于 2010-2-6 10:40:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-6 10:49:35 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-2-6 12:33:02 | 显示全部楼层
今天无法下载 标记一下 改天下载

出0入0汤圆

发表于 2010-4-9 23:57:44 | 显示全部楼层
顶下

出0入0汤圆

发表于 2010-4-12 22:22:46 | 显示全部楼层
回复【楼主位】418425051 宽
-----------------------------------------------------------------------

mark

出0入0汤圆

发表于 2010-4-14 09:53:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-12 14:14:30 | 显示全部楼层
mark!~~

出0入0汤圆

发表于 2010-6-27 15:01:27 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-6-29 20:01:41 | 显示全部楼层
留下记号

出0入0汤圆

发表于 2010-7-3 09:14:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-17 14:02:59 | 显示全部楼层
多来几个。

出0入0汤圆

发表于 2010-8-17 14:10:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-17 15:36:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-19 22:04:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-30 18:34:14 | 显示全部楼层
哎,看了这个代码,我晓得了某开发板是直接复制的这里的,它连注释的某处错误都没改

出0入0汤圆

发表于 2010-10-30 21:52:00 | 显示全部楼层
ucGUI可以支持无操作系统, 修改到其它驱动也很简单.

出0入0汤圆

发表于 2011-1-11 12:09:48 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-1-11 12:36:59 | 显示全部楼层
谢谢!
下来学习学习。

出0入0汤圆

发表于 2011-1-11 15:05:33 | 显示全部楼层
LCD  hao

出0入0汤圆

发表于 2011-1-11 18:27:49 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-1-11 19:46:28 | 显示全部楼层
支持一下,以后可能用!

出0入0汤圆

发表于 2011-1-11 23:02:58 | 显示全部楼层
收下了

出0入0汤圆

发表于 2011-2-13 14:58:27 | 显示全部楼层
暂时用不到,路过帮顶

出0入0汤圆

发表于 2011-6-11 19:13:40 | 显示全部楼层
收下,有待学习

出0入0汤圆

发表于 2011-6-12 13:19:03 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-6-14 00:37:33 | 显示全部楼层
mark~

出0入0汤圆

发表于 2011-6-14 08:44:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-14 09:16:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-15 14:16:27 | 显示全部楼层
怎么感觉ALIENTEK的LCD也是这样写的
我的硬件IO口和这个不一样啊
移植的时候好麻烦啊
先顶个回去再试试

出0入0汤圆

发表于 2011-6-15 15:28:44 | 显示全部楼层

出0入0汤圆

发表于 2011-6-21 09:22:14 | 显示全部楼层
cool!太棒了!

出0入0汤圆

发表于 2011-6-21 15:18:06 | 显示全部楼层
so cool !

出0入0汤圆

发表于 2011-7-9 22:02:59 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-7-9 23:29:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-14 17:33:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-15 18:36:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-17 10:24:05 | 显示全部楼层
收藏!

出0入0汤圆

发表于 2011-7-17 13:27:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-18 11:47:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-18 12:28:31 | 显示全部楼层
求教如何正常驱动STM8L152C6T6上的LCD?(707474097,希望你能帮忙,非常感激)

出0入0汤圆

发表于 2011-7-30 23:34:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-31 02:48:54 | 显示全部楼层
记下

出0入0汤圆

发表于 2011-8-2 16:16:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-15 17:50:10 | 显示全部楼层
这下方便多了。。。

出0入0汤圆

发表于 2011-8-15 17:55:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-16 08:36:16 | 显示全部楼层
非常有用,谢谢

出0入0汤圆

发表于 2011-8-16 09:58:57 | 显示全部楼层
阿宽,LCD.C  文件中,貌似没有 void LCD_DrawBMP(u32 BmpAddress);/*显示BMP图片*/    这个函数

出0入0汤圆

发表于 2011-8-16 11:55:13 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-8-16 15:39:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-13 14:13:26 | 显示全部楼层
可以研究下。。。。

出0入0汤圆

发表于 2013-10-5 22:30:35 | 显示全部楼层
标记下,没搞懂~

出0入0汤圆

发表于 2013-10-7 11:32:06 | 显示全部楼层
收藏一个,好好学习。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 07:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表