资源简介
直接调用接口,单独获取键值,精准,稳定。同时为C语言开发,精简,方便,适合各类微处理器移植。

代码片段和文件信息
/**********************************
CY 为单片机CY位,移植时可根据芯片更改
**********************************/
#include “BS8116A.h“
void BS8116A_int()
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.Pin = GPIO_Pin_0 | GPIO_Pin_1;
GPIO_InitStructure.Mode = GPIO_OUT_OD;
GPIO_Inilize(GPIO_P3&GPIO_InitStructure);
}
void BS8116A_Start()
{
SDA = 1;
SCL = 1;
Delay5us();
SDA = 0;
Delay5us();
SCL = 0;
}
void BS8116A_Stop()
{
SDA = 0;
SCL = 1;
Delay5us();
SDA = 1;
Delay5us();
}
bit BS8116A_RecvACK()
{
SCL = 1;
Delay5us();
CY = SDA;
SCL = 0;
Delay5us();
return CY;
}
void BS8116A_SendByte(u8 dat)
{
u8 i;
for (i=0; i<8; i++)
{
dat <<= 1;
SDA = CY;
SCL = 1;
Delay5us();
SCL = 0;
Delay5us();
}
BS8116A_RecvACK();
}
u8 BS8116A_RecvByte()
{
u8 i;
u8 dat = 0;
SDA = 1;
for (i=0; i<8; i++)
{
dat <<= 1;
SCL = 1;
Delay5us();
dat |= SDA;
SCL = 0;
Delay5us();
}
return dat;
}
//0---ACK1---NACK
void BS8116A_SendACK(bit ack)
{
SDA = ack;
SCL = 1;
Delay5us();
SCL = 0;
Delay5us();
}
u8 Get_Key(u8 dat)
{
u8 Temp;
BS8116A_Start(); //起始
BS8116A_SendByte(0xA0); //发送
BS8116A_SendACK(0); //ack
BS8116A_SendByte(dat); //发送
BS8116A_SendACK(0); //ack
BS8116A_Start(); //起始
BS8116A_SendByte(0xA1); //发送
BS8116A_SendACK(0); //ack
Temp = BS8116A_RecvByte(); //读取
BS8116A_SendACK(1); //nack
BS8116A_Stop(); //结束
return Temp;
}
void main()
{
u8 Key_HKey_L;
u16 Key;
while(1)
{
Key_H = Get_Key(0x09);
Key_L = Get_Key(0x08);
Key = (Key_H<<8) | Key_L;
printf(“Key value:%X\n“Key);
delay_ms(200);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2343 2018-08-08 15:28 BS8116A.c
文件 350 2018-08-08 15:25 BS8116A.h
文件 873635 2018-08-08 09:32 simBS81xA-xv150.pdf
----------- --------- ---------- ----- ----
876328 3
- 上一篇:MFC 实现的坦克大战
- 下一篇:C++primer第四版中文版.epub
相关资源
- 纯C++实现的截屏
- [纯C语言 + Win32 API]一步一步写个围棋
- RSA算法纯C语言代码实现,带测试dem
- Visual Assist X 10.3.1561.0VC6助手最优最稳
- 变频器源码 DSPIC30F5015电机控制专用芯
- vs使用纯c++编写的com组件
- bmp24位彩色图像转8位灰度图像纯C++
- jpeg压缩纯C语言实现
- Visualc++ 6.0中文稳定破解版
- 纯C语言写的sift算法,亲测,可用,可
- 双边滤波C++实现
- 纯C语言——电子相册
- [纯C语言 + Win32 API]一步一步写个围棋
- 图书管理系统纯c++编译,vc6轻松实现
- 纯C语言+libjpeg实现最简单jpeg图片解码
- YUV合成 YUV裁剪 YUV_to_JPEG 纯c语言编写
- Windows下纯C语言Socket、smtp发送邮件,
- c/c++ 字符集 gbk/utf8互转,Ansi/Utf8互转
- 纯C语言写的打字母游戏
- 纯C语言写的https模拟GET和POST
- 算术编码纯C语言实现
- libx264最新稳定版本附WINDOWS下编译步骤
- tftp服务器源码,纯c语言
- 纯C版的微信打飞机游戏
- QR分解算法的纯c++代码
- 纯C语言写的hex转bin小工具
- 纯C++方式生成复杂格式的excel文件(
- 远程控制源代码(纯C)
- 敢死队问题纯C语言编写
- [纯C语言 + Win32 API]一步一步写个围棋
评论
共有 条评论