?? zlg7290.c
字號:
/******************************************************************************************************
** File Name: ZLG7290.C
** Description: ZLG7290操作軟件包。
********************************************************************************************************/
#define IN_ZLG7290
#include "config.h"
#define ZLG7290 0x70 /* ZLG7290的IIC地址 */
// ZLG7290寄存器地址(子地址)
#define SubKey 0x01
#define SubCmdBuf 0x07
#define SubDpRam 0x10
/*********************************************************************************************************
** Function name: DelayMS
** Descriptions: 長軟件延時
** Input: i 延時參數,值越大時延時越久
** Output: 無
********************************************************************************************************/
void DelayMS(uint32 dly)
{
uint8 i;
for(; dly>0; dly--)
for(i=0; i<100; i++);
}
/*********************************************************************************************************
** Function name: ZLG7290_SendData
** Descriptions: 發送數據
** Input: SubAdd 輸入數據
** DATA 輸入值
** Output: 0 表示Fail
** 1 表示OK
********************************************************************************************************/
unsigned char ZLG7290_SendData(unsigned char SubAdd,unsigned char Data)
{
unsigned char suba[2];
if(SubAdd>0x17) return 0;
suba[0] = 1; // 子地址個數, chg by HSB
suba[1] = SubAdd; // 子地址, chg by HSB
ISendStr(ZLG7290, suba, &Data, 1); // chg by HSB
DelayMS(10);
return 1;
}
/*********************************************************************************************************
** Function name: ZLG7290_SendCmd
** Descriptions: 發送命令(對子地址7、8)
** Input: DATA1 命令1
** DATA2 命令2
** Output: 0 表示Fail
** 1 表示OK
********************************************************************************************************/
unsigned char ZLG7290_SendCmd(unsigned char Data1,unsigned char Data2)
{
unsigned char Data[2];
unsigned char suba[2];
Data[0] = Data1;
Data[1] = Data2;
suba[0] = 1; // chg by HSB
suba[1] = SubCmdBuf; // chg by HSB
ISendStr(ZLG7290, suba, Data, 2); // chg by HSB
DelayMS(1000);
return(1);
}
/*********************************************************************************************************
** Function name: ZLG7290_SendBuf
** Descriptions: 向顯示緩沖區發送數據
** Input: *disp_buf 要發送數據的起始地址
** num 發送個數
** Output: 無
********************************************************************************************************/
void ZLG7290_SendBuf(unsigned char *disp_buf,unsigned char num)
{
unsigned char i;
for(i=0; i<num; i++)
{
ZLG7290_SendCmd(0x60 + i, *disp_buf);
disp_buf++;
}
}
/*********************************************************************************************************
** Function name: ZLG7290_GetKey
** Descriptions: 讀取鍵值
** Input: 無
** Output: >0 表示鍵值 (低8位為鍵碼,高8位為按鍵次數)
** =0 表示無鍵按下
********************************************************************************************************/
unsigned short ZLG7290_GetKey(void)
{
unsigned char rece[2];
unsigned char suba[2];
rece[0] = rece[1] = 0; // chg by HSB
suba[0] = 1; // chg by HSB
suba[1] = SubKey; // chg by HSB
IRcvStr(ZLG7290, suba, rece, 2); // chg by HSB
DelayMS(10);
return (rece[0] | (rece[1]<<8)); // chg by HSB
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -