1 ) 开启关闭背光键盘
2 ) HAPI_PCAP_transceive T B5F01C04684068A6B08DA90891092100AB087319210473592101403046847399
3 )
=================================in SDK==================================
ypedef struct {
unsigned int *addr;
unsigned int data;
unsigned int mask;
UINT8 rw;
UINT8 reg;
} HAPI_CAP_ACCESS;
void HAPI_PCAP_transceive(HAPI_CAP_ACCESS*);
==========================================================================
================================in_C_by_om2804 ========================================
#define create_mask(mask, sbit, len)\
(mask = 0xFFFFFFFFL,\
mask >>= sbit,\
mask <<= (sizeof(mask) * 8) - len,\
mask >>= (sizeof(mask) * 8) - (sbit + len))
#define set_data(dest, sbit, data) (dest = ((unsigned int)data) << sbit)
#define get_data(data, sbit) (data >>= sbit)
void hPCAPwrite(UINT8 port, UINT8 pin, UINT8 len, UINT8 write_data)
{
HAPI_CAP_ACCESS hapi_cap_params;
UINT8 num_bits = len;
UINT8 bit_specifier = pin;
create_mask(hapi_cap_params.mask, bit_specifier, num_bits);
set_data(hapi_cap_params.data, bit_specifier, write_data);
hapi_cap_params.rw = 1;
hapi_cap_params.reg = port;
hapi_cap_params.addr = 0;
HAPI_PCAP_transceive(&hapi_cap_params);
}
unsigned int hPCAPread(UINT8 port, UINT8 pin, UINT8 len)
{
unsigned int data_buffer;
HAPI_CAP_ACCESS hapi_cap_params;
UINT8 num_bits = len;
UINT8 bit_specifier = pin;
create_mask(hapi_cap_params.mask, bit_specifier, num_bits);
set_data(hapi_cap_params.data, bit_specifier, 0);
hapi_cap_params.rw = 0;
hapi_cap_params.reg = port;
hapi_cap_params.addr = &hapi_cap_params.data;
HAPI_PCAP_transceive(&hapi_cap_params);
data_buffer = get_data(hapi_cap_params.data, bit_specifier);
return(data_buffer);
}
//比如://
hPCAPwrite(0x15,0,3, 1);/ / 打开
hPCAPwrite(0x15,0,3, 1);/ / 关闭
==============================================================================
刚看到的 就发上来了
|