pcf8563中断输出不准确

[复制链接]
4613|11
 楼主| colorful88 发表于 2014-7-28 22:40 | 显示全部楼层 |阅读模式
本帖最后由 colorful88 于 2014-7-28 22:56 编辑

小弟,用pic做项目,需要pcf8563去唤醒单片机,I2C通讯正常,能读能写。
但是设置pcf8563倒计时功能出了点问题,INT引脚是用的单片机内部上拉,也能放出低电平唤醒单片机,只是INT引脚输出中断时间和我设置的不一样,不管怎么设置pcf8563的寄存器,放出中断间隔只有1s多的时间。
这是我设置寄存器的程序,括号内是地址、长度、写入数值
PCF8563_Write_Bytes(0x00,1,0x00);
PCF8563_Write_Bytes(0x01,1,0x01);
PCF8563_Write_Bytes(0x0e,1,0x81);
PCF8563_Write_Bytes(0x0F,1,0x40);
发出中断后清零TF,PCF8563_Write_Bytes(0x01,1,0x01);
但是我想加长间隔时间,PCF8563_Write_Bytes(0x0F,1,0x40);把0x40改成别的值,却没有什么变化。
ayb_ice 发表于 2014-7-29 07:03 来自手机 | 显示全部楼层
又有怀疑芯片问题的人
排山倒海 发表于 2014-7-29 08:07 | 显示全部楼层
芯片也是人设计的啊,为什么不能怀疑?
特别是datasheet有错误是经常的事情,否则就不用出勘误文件了。

我用三星的单片机就出现驱动LCD电流不够显示不均匀,换中颖合泰测试显示是正常的。
ayb_ice 发表于 2014-7-29 08:49 | 显示全部楼层
排山倒海 发表于 2014-7-29 08:07
芯片也是人设计的啊,为什么不能怀疑?
特别是datasheet有错误是经常的事情,否则就不用出勘误文件了。

是人设计的,但是是高人设计的

何况是NXP这样的公司,都出来N年了,还能发现新大陆?
 楼主| colorful88 发表于 2014-7-29 09:07 | 显示全部楼层
ayb_ice 发表于 2014-7-29 08:49
是人设计的,但是是高人设计的

何况是NXP这样的公司,都出来N年了,还能发现新大陆? ...

请不要根据别人的只言片语判断别人的态度,这件事我知道肯定是自己的设置问题,所以发上来请大家看看有什么我没注意的地方发生纰漏。
怎么直接转进到我怀疑芯片了?
ayb_ice 发表于 2014-7-29 09:13 | 显示全部楼层
你首先就给自己下结论了,还怎么讨论

“怎么设置都不对”

很明显99%的可能就是根本就没有设置对
 楼主| colorful88 发表于 2014-7-29 09:38 | 显示全部楼层
ayb_ice 发表于 2014-7-29 09:13
你首先就给自己下结论了,还怎么讨论

“怎么设置都不对”

都是做技术的,自然是有话说话。
不谈正题,说酸话总归不好。
ayb_ice 发表于 2014-7-29 09:47 | 显示全部楼层
找问题就要抱怀疑的态度,而不是。。。

你都不觉得有问题,怎么可能找到BUG呢,我说的大实话
 楼主| colorful88 发表于 2014-7-29 10:05 | 显示全部楼层
ayb_ice 发表于 2014-7-29 09:47
找问题就要抱怀疑的态度,而不是。。。

你都不觉得有问题,怎么可能找到BUG呢,我说的大实话 ...

我*,我要不抱着怀疑的态度我就打电话去nxp骂了。
问题我已经找到了,是我程序问题,芯片设置也没什么问题。
void PCF8563_Write_Bytes(unsigned char addr, unsigned char length, unsigned char *pbuf)
PCF8563_Write_Bytes(0x01,1,0x12);里的变量赋值给一个数组就能正确设置寄存器了,直接写入0x12会被改成0x08直接赋值AF为1,程序直接就下去了
ayb_ice 发表于 2014-7-29 10:09 | 显示全部楼层
colorful88 发表于 2014-7-29 10:05
我*,我要不抱着怀疑的态度我就打电话去nxp骂了。
问题我已经找到了,是我程序问题,芯片设置也没什么问 ...

还想骂NXP,我无语了
李冬发 发表于 2014-7-29 22:48 | 显示全部楼层
unsigned char *pbuf用0x12代替,你的C功底得用十全大补酒好好补补才行。
 楼主| colorful88 发表于 2014-7-30 10:02 | 显示全部楼层
李冬发 发表于 2014-7-29 22:48
unsigned char *pbuf用0x12代替,你的C功底得用十全大补酒好好补补才行。

额,技术糙了点。
中断间隔无法改变,还因为RB脚被一个外设器件拉低了,所以一直产生中断,所以机器睡眠后直接被唤醒,没等到pcf8563的中断。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

56

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部