搜索
bottom↓
回复: 6

分享两个驱动代码, 一个是12864液晶驱动,一个是PS2键盘驱动

[复制链接]

出0入0汤圆

发表于 2013-4-22 13:35:09 | 显示全部楼层 |阅读模式
不知这里有多少人用github维护代码, 这里先分享两个以前常用输入输出设备驱动代码:
12864的液晶驱动:
https://github.com/dodgepudding/LCM12864

PS2键盘驱动:
https://github.com/dodgepudding/PS2keyboard

12864实现了以下函数功能
void LCDInit(); //初始化液晶
void ClearLCD(); //清除LCD显示
void ClearRAM(); //清楚RAM数据
void Display_on(); //打开整体显示
void Display_off(); //关闭整体显示
void Draw_on(); //打开绘图模式
void Draw_off(); //关闭绘图模式
void SendData(unsigned char); //发送指令数据

void Cursor_on(); //游标闪烁开
void Cursor_off(); //游标闪烁关
void Direct_left(); //设定游标向左移动
void Direct_right();//设定游标向右移动
void Scroll_left(); //文字整体左移
void Scroll_right();//文字整体右移
void Cursor_left(); //游标向左移动
void Cursor_right(); //游标向右移动
void Line_Inverse(unsigned char line); //第line行反显
void Sleep(); //进入睡眠模式
void Wakeup(); //从睡眠模式唤醒
void PutChar(unsigned char row,unsigned char col,unsigned char cc); //在row行,col列显示一个字符
void PutStr(unsigned char row,unsigned char col,unsigned char *puts); //在row行,col列开始显示一字符串
void DrawBMP(unsigned char *puts); //画puts数组表示的图像
void Point(unsigned char x,unsigned char y,unsigned char *buf); //在(x,y)位置画一点,(0,0)坐标在左下角
void Point2(unsigned char x,unsigned char y); //纯画点,覆盖原图
void Line(unsigned char sx,unsigned char sy,unsigned char ex,unsigned char ey,unsigned char *buf); //从(sx,sy)向(ex,ey)坐标连线,ex>sx

键盘实现的功能函数有:
ResetKey() //键盘复位,过程等待较长
SetDefault() //设置默认模式
SetKeyRate(r) //设置按键速率0x00-0x1f,值越大,速率越低
SetKeySet(t) //设定键盘使用编码集, 取值1/2/3,此版本只支持默认模式
SetAllKeyType(t) //设置按键响应模式,为上面四个参数之一,键盘编码集3模式下此功能才有效, 允许输入以下几种模式值
KEY_TYPE_T 0x07 //重复模式
KEY_TYPE_MB 0x08 //通/断模式
KEY_TYPE_M 0x09 //只通模式
KEY_TYPE_TMB 0x0A //通/断/重复模式

ResendKey() //重发上一键值
KeyDisable() //键盘禁止
KeyEnable() //键盘允许
SetKeyLED(l) //设置信号灯状态, 允许输入以下几种模式值
KEY_LED_SCROLL 0x01
KEY_LED_NUM 0x02
KEY_LED_CAPS 0x04

SendEcho() //发送ECHO询问信号,键盘也会返回ECHO
void SendKeyCmd(unsigned char cmd); //发送键盘命令
unsigned char Decode(unsigned char ScanCode); //键盘解码,返回的是按键的ASCII码,特殊功能键除外
unsigned char KeyInit(); //键盘初始化
bit KeyState(); //键盘状态查询,为1表示按键未处理,为0表示按键已处理
unsigned char GetCode(); //获得原始键码
void SetState(bit b); //设置键盘按键状态
unsigned char LEDState();//读取键盘灯状态
void KeyReset(); //键盘重启

此外还有一份cc2500的2.4G驱动, 不知有多少人需要, 暂未整理出来.

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2013-4-24 00:30:29 来自手机 | 显示全部楼层
先收藏再说

出0入0汤圆

发表于 2013-4-26 18:35:40 | 显示全部楼层
好东西,正在相关的东东呢,谢谢啦。

出0入0汤圆

发表于 2013-4-26 19:00:38 | 显示全部楼层
啊 想要cc2500的驱动 ~在玩这个 感觉不是很懂啊

出0入0汤圆

发表于 2013-4-26 23:12:31 | 显示全部楼层
收藏~~~~~~~~~~~

出0入0汤圆

发表于 2013-4-27 09:13:29 来自手机 | 显示全部楼层
学习了谢谢

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-10-3 00:51

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

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