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

2020-01-22 12:11发布

不知这里有多少人用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驱动, 不知有多少人需要, 暂未整理出来.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
miller8708
1楼-- · 2020-01-22 17:44
先收藏再说
pchina8
2楼-- · 2020-01-22 19:47
好东西,正在相关的东东呢,谢谢啦。
~just_yy
3楼-- · 2020-01-22 21:00
啊 想要cc2500的驱动 ~在玩这个 感觉不是很懂啊
sqqdjian
4楼-- · 2020-01-23 00:00
收藏~~~~~~~~~~~
benqme
5楼-- · 2020-01-23 04:06
 精彩回答 2  元偷偷看……
sjx2012
6楼-- · 2020-01-23 08:53
好资料!支持楼主无私分享!

一周热门 更多>