话说Microchip的玩意便宜是便宜,但对于英语水平拙劣的开发真的是难啊,不说pic单片机的调试速率,这tm能搞死人,大多是需要使用其他单片机开发完后移植会比较方便,那个仿真器也是真的慢出狗了,把我的破电脑折腾坏了。现在用的mcp4661也是被搞的懵逼。 mcp4661是双位数字电位器,之前没用过他家的,就用过国产那个啥x9c104啥的,也用过adi的,但是当时的应用没用考虑到负压,用x9的时候没感觉到问题,现在由于板子尺寸比较小,sop8用2片的话占面积就太大了,就选了mcp4661。 这芯片也是IIC,通信也简单,看看datasheet就能写,注意下他的读写地址是不一样的,寄存器地址后四位是写0x00读0x0c,严格来说应该是后3位,最后一位是数据位的最高位,这个无关紧要,一般不适用最高位。代码太简单就不贴了。
然后可笑的是我被一个abs函数搞死了 我本来是取绝对值当时没注意直接把float用abs取绝对值了,搞的一直电位器输出是0x80,不管怎么设都是0x80,然后我把datasheet读了十来遍,电路检测了十来遍,硬是没发现这个问题,主要还是当时调试时输出的还是正常的,这个可能是当时眼花了,导致后面一直认为这边没错误,哎。。。。
这个电位器和x9还是有些不一样的,x9的datasheet里有电路,是Va、Vb、Vw是可以支持负压的,但是这个东西!他的输入都是VSS,不能低于-0.6v,不然导致电流变大一倍,但神奇的是这个玩意电阻值还是正常的,呵呵呵呵。adi的也是这样,因此看他的datasheet时他的测试电路的运放均是单电源,这个很容易被误导用在双电源电路中,我就是一个活生生的例子。。。
最后,microchip的东西少用,被坑了几次了,一次是PIC,一次是那个24G的雷达,还要就是这个电位器。。。。主要是这个玩意资料太少了,还全是英文。。。。。
|