OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8647|回复: 40

合泰BS8116A-3

[复制链接]

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
发表于 2017-5-8 11:34:08 | 显示全部楼层 |阅读模式
1金钱
哪位用过合泰的触摸IC BS8116A-3;16KEY的触摸IC;
我在调试的时候,通过读取保留寄存器值,来验证驱动的正确性;
在读取的时候,刚开始是对的,0xF3;后来就会变成0xFF;合泰那边一直没找到技术支持;现在也不知道应该怎么办了;
我采用的是软件模拟IIC的方式驱动

uint8_t TK_Read_Byte(uint8_t addr,u8 reg)
{
uint8_t res;
  IIC_Start();
IIC_Send_Byte((addr<<1)|0);//发送器件地址+写命令
IIC_Wait_Ack();  //等待应答
  IIC_Send_Byte(reg); //写寄存器地址
  IIC_Wait_Ack();  //等待应答
  IIC_Start();
IIC_Send_Byte((addr<<1)|1);//发送器件地址+读命令
  IIC_Wait_Ack();  //等待应答
res=IIC_Read_Byte(0);//读取数据,发送nACK
  IIC_Stop();   //产生一个停止条件
//delay_us(30);
return res;  
}
2.png

1.png
这是我读的程序;触摸IC我在初始化阶段没做处理,都是保留状态

最佳答案

查看完整内容[请看2#楼]

不是我写的驱动有问题,是这个ic自己会休眠;触摸会唤醒IC
与其感慨路难行,不如马上出发
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-5-8 11:34:09 | 显示全部楼层
不是我写的驱动有问题,是这个ic自己会休眠;触摸会唤醒IC
与其感慨路难行,不如马上出发
回复

使用道具 举报

2

主题

43

帖子

0

精华

高级会员

Rank: 4

积分
701
金钱
701
注册时间
2012-6-26
在线时间
263 小时
发表于 2017-5-8 11:43:06 | 显示全部楼层
和泰触摸IC有库,直接用就行
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-5-8 11:46:34 | 显示全部楼层
weiqsfj 发表于 2017-5-8 11:43
和泰触摸IC有库,直接用就行

我没有啊,合泰官网有么
与其感慨路难行,不如马上出发
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-5-8 14:53:06 | 显示全部楼层
谁手上有库的可以共享下么
与其感慨路难行,不如马上出发
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-5-8 20:36:05 | 显示全部楼层
没用过哦,帮顶
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

43

帖子

0

精华

高级会员

Rank: 4

积分
701
金钱
701
注册时间
2012-6-26
在线时间
263 小时
发表于 2017-5-15 17:26:06 | 显示全部楼层
xueshawu 发表于 2017-5-8 11:46
我没有啊,合泰官网有么

联系和泰**商FAE
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-5-15 19:24:18 | 显示全部楼层

我的那个供应商跟吃了屎一样,随便问个什么各种拖拖拉拉;不过,我已经 搞定了
与其感慨路难行,不如马上出发
回复

使用道具 举报

6

主题

23

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2014-5-11
在线时间
12 小时
发表于 2017-6-15 00:22:05 | 显示全部楼层
能不能把驱动分享一下,最近也在搞,多谢先了 邮箱2370886484@qq.com
提供:红外学习芯片、模块;315M、433M无线学习芯片、模块;MP3语音芯片、模块;更多产品和详情请光临我的淘宝小店http://shop109337654.taobao.com;欢迎大家交流学习指导。
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-6-15 10:42:09 | 显示全部楼层
FVTech 发表于 2017-6-15 00:22
能不能把驱动分享一下,最近也在搞,多谢先了 邮箱

我写了两个版本,分别是硬件IIC和模拟IIC;但是都有缺陷,就是在写入的寄存器值失败,具体原因我还没去分析,你要的话,我可以打包给你
与其感慨路难行,不如马上出发
回复

使用道具 举报

6

主题

23

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2014-5-11
在线时间
12 小时
发表于 2017-6-16 15:21:56 | 显示全部楼层
好的,麻烦你给发一下,一起研究看看,非常感谢,发上面的邮箱。不过你说的写入寄存器失败是指设置参数吗?
提供:红外学习芯片、模块;315M、433M无线学习芯片、模块;MP3语音芯片、模块;更多产品和详情请光临我的淘宝小店http://shop109337654.taobao.com;欢迎大家交流学习指导。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2017-6-16
在线时间
2 小时
发表于 2017-6-16 16:46:31 | 显示全部楼层
xueshawu 发表于 2017-6-15 10:42
我写了两个版本,分别是硬件IIC和模拟IIC;但是都有缺陷,就是在写入的寄存器值失败,具体原因我还没去分 ...

你好  我也在用io口模拟i2c  方便发一份代码看看么  815178502@qq.com
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-6-16 19:30:45 | 显示全部楼层
FVTech 发表于 2017-6-16 15:21
好的,麻烦你给发一下,一起研究看看,非常感谢,发上面的邮箱。不过你说的写入寄存器失败是指设置参数吗?

我会上传附件,写入寄存失败指的就是调整门槛值也就是设置参数;因为这个要求一次写入22个字节需要checksum,我也不知道哪里 搞错了
与其感慨路难行,不如马上出发
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-6-16 19:32:46 | 显示全部楼层
这两个版本读取KEY值都是没问题的,
软件模拟IIC的是写寄存器失败的,硬件IIC我还没测;

BS8116A-3驱动.zip

5.72 KB, 下载次数: 641

与其感慨路难行,不如马上出发
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2017-6-16
在线时间
2 小时
发表于 2017-6-16 22:22:52 | 显示全部楼层
xueshawu 发表于 2017-6-16 19:32
这两个版本读取KEY值都是没问题的,
软件模拟IIC的是写寄存器失败的,硬件IIC我还没测;

谢谢上传  我研究一下 ,我本来有一套的软件i2c的代码的  但不知道为什么读寄存器的值的时候 老是变来边去  不知道是不是地址什么的错了
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2017-6-16
在线时间
2 小时
发表于 2017-6-16 23:15:00 | 显示全部楼层
xueshawu 发表于 2017-6-16 19:32
这两个版本读取KEY值都是没问题的,
软件模拟IIC的是写寄存器失败的,硬件IIC我还没测;

我读寄存器的值  地址是0xB3 按道理应该一直都是0xF3才对,但我确认了芯片处于非休眠状态下,连续读几次  没有一次是f3的  很多时候读出来的是0XF9
回复

使用道具 举报

36

主题

94

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2015-3-29
在线时间
3 小时
发表于 2017-7-24 10:22:23 | 显示全部楼层
我想问下i2c通信的时候SIMA的地址是从哪里得知的?我看手册里没有说(英文的手册)。
还有楼主的中文手册能发给我看看嘛?
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-7-24 17:34:01 | 显示全部楼层
wodezpyzz 发表于 2017-7-24 10:22
我想问下i2c通信的时候SIMA的地址是从哪里得知的?我看手册里没有说(英文的手册)。
还有楼主的中文手册 ...

SIMA?什么东西
与其感慨路难行,不如马上出发
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-1 15:40:03 | 显示全部楼层

楼主, 我想问下就是配置下管脚 和 中断就是了吗, 还要初始化数据吗, 我在中断里面读出来的数据全是0, 硬件仿真有时可以读出按键值好像, 楼主有配置的代码吗, 我用的是你的驱动
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-12-1 15:58:38 | 显示全部楼层
小小小小电子 发表于 2017-12-1 15:40
楼主, 我想问下就是配置下管脚 和 中断就是了吗, 还要初始化数据吗, 我在中断里面读出来的数据全是0, ...

中断对我的系统来说,只是唤醒系统的作用;至于读按键值你配置IIC就行了
与其感慨路难行,不如马上出发
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-1 16:25:52 | 显示全部楼层
我看了你的程序,读不出来数据
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-1 16:26:51 | 显示全部楼层
xueshawu 发表于 2017-12-1 15:58
中断对我的系统来说,只是唤醒系统的作用;至于读按键值你配置IIC就行了

我也是中断唤醒,在中断里面读取按键值
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-1 16:27:32 | 显示全部楼层
小小小小电子 发表于 2017-12-1 16:26
我也是中断唤醒,在中断里面读取按键值

但是读不出来的,可以分享下你的例程吗
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-12-1 16:35:56 | 显示全部楼层
小小小小电子 发表于 2017-12-1 16:27
但是读不出来的,可以分享下你的例程吗

这个帖子里面有触摸的驱动代码啊;
看14楼
与其感慨路难行,不如马上出发
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-2 19:54:44 | 显示全部楼层
xueshawu 发表于 2017-12-1 16:35
这个帖子里面有触摸的驱动代码啊;
看14楼

嗯我是用了那个代码,但是好像读出来的数值都是0
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-4 17:15:38 | 显示全部楼层
xueshawu 发表于 2017-12-1 16:35
这个帖子里面有触摸的驱动代码啊;
看14楼

楼主, 我读出按键值了,不过有一个问题,就是一直都进入中断的,没触摸按键也进入,怎么回事吗??
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-12-5 15:20:12 | 显示全部楼层
小小小小电子 发表于 2017-12-4 17:15
楼主, 我读出按键值了,不过有一个问题,就是一直都进入中断的,没触摸按键也进入,怎么回事吗??

是你中断边沿设置有问题吧,建议不要在中断里面读按键值,循环读取好一点
与其感慨路难行,不如马上出发
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-5 15:51:26 | 显示全部楼层
xueshawu 发表于 2017-12-5 15:20
是你中断边沿设置有问题吧,建议不要在中断里面读按键值,循环读取好一点

硬件IIC的程序驱动,没有写方法,怎么写22个数据比较合适,我好像写不进去。。。
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-5 15:53:39 | 显示全部楼层
xueshawu 发表于 2017-12-5 15:20
是你中断边沿设置有问题吧,建议不要在中断里面读按键值,循环读取好一点

循环读取是怎么样个思维,一直判断吗?判断哪个值?求指教
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-12-5 16:07:38 | 显示全部楼层
小小小小电子 发表于 2017-12-5 15:53
循环读取是怎么样个思维,一直判断吗?判断哪个值?求指教

就是一直读啊
与其感慨路难行,不如马上出发
回复

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2013-11-29
在线时间
14 小时
发表于 2017-12-5 17:28:13 | 显示全部楼层
这个芯片感觉有射频相关,会唤醒,要注意下
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-5 17:30:36 | 显示全部楼层

哎, 不过想要中断好点, 22个数据有推荐值吗, 我的设置不进去。。。,不知道该设置什么值,还是我的写方法有问题 ,,
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-5 17:42:55 | 显示全部楼层

没用到的按键引脚可以悬空吗,我的有悬空的,所以可能是这样不断进入中断吗??????
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-12-6 09:25:12 | 显示全部楼层
小小小小电子 发表于 2017-12-5 17:30
哎, 不过想要中断好点, 22个数据有推荐值吗, 我的设置不进去。。。,不知道该设置什么值,还是我的写 ...

这个数据要看手册设置的,没什么推荐值,而且我前面也说了,这个代码是连续写寄存器失败的:至于原因我没研究过,当时调的效果还可以;手册上有设置寄存器的方式,就是连续写22byte
与其感慨路难行,不如马上出发
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-12-6 09:27:13 | 显示全部楼层
小小小小电子 发表于 2017-12-5 17:42
没用到的按键引脚可以悬空吗,我的有悬空的,所以可能是这样不断进入中断吗??????

至于 没用到的pin;你NC掉就行了
与其感慨路难行,不如马上出发
回复

使用道具 举报

34

主题

283

帖子

0

精华

高级会员

Rank: 4

积分
739
金钱
739
注册时间
2015-11-15
在线时间
226 小时
 楼主| 发表于 2017-12-6 09:30:33 | 显示全部楼层
妞叫我改么 发表于 2017-12-5 17:28
这个芯片感觉有射频相关,会唤醒,要注意下

射频?
天线确实对触摸按键有影响,环境也会有影响
与其感慨路难行,不如马上出发
回复

使用道具 举报

14

主题

81

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-5-25
在线时间
39 小时
发表于 2017-12-6 11:26:23 | 显示全部楼层
xueshawu 发表于 2017-12-6 09:27
至于 没用到的pin;你NC掉就行了

不过我现在写22个数据进入,写不进去了,不知道怎么回事,我好像就第一次写成功过,用的你的模拟IIC程序,  现在一直写不进去了, 还一直中断, 知道怎么修改21个寄存器吗
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2018-6-24
在线时间
1 小时
发表于 2018-6-24 11:21:42 | 显示全部楼层
你好,可以分享下BS8116A-3实现触摸按键的完整代码么
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2018-6-24
在线时间
1 小时
发表于 2018-6-24 11:36:41 | 显示全部楼层
lalalhello 发表于 2018-6-24 11:21
你好,可以分享下BS8116A-3实现触摸按键的完整代码么

r如果用51单片机开发BS8116A-3,应该在什么方面修改呢,突破点在哪~
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2018-8-2
在线时间
4 小时
发表于 2018-8-2 16:43:41 | 显示全部楼层
xueshawu 发表于 2017-6-16 19:32
这两个版本读取KEY值都是没问题的,
软件模拟IIC的是写寄存器失败的,硬件IIC我还没测;

楼主为啥 我用的代码测试  读取都没有反应呢?
回复

使用道具 举报

3

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2016-1-7
在线时间
103 小时
发表于 2020-6-28 02:03:58 | 显示全部楼层
感谢提供的参考  我的程序也没问题了 谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 02:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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