这几天调这个DA调得很恼火啊,之前打算用DAC8571来做,是一个16位的DA转换芯片。但是调了3天都没有输出!!IIC总线写不进去数据啊,急死我了啊 明明芯片IIC输入数据后总线上检测到有应答的,但是就是输出一直为0
想想就觉得这个世界充满了恶意。
下面是换了5616这个12位的dc芯片做的,调了2个小时就通了啊有木有,简直不能忍。
上代码
〈还是先解释一下啊喂:p2.0口——DIN P2.1口——SCLK P2.2口——CS/ P2.3口——FS〉
时钟还是自己写比较靠谱
用了按键外部中断来改变写入5616的数字量,按键+-50
#include<msp430x14x.h>
#define uchar unsigned char
#define uint unsigned int
#define DA5616_clk_H P2OUT|=BIT1//P2.1
#define DA5616_clk_L P2OUT&=~BIT1//P2.1
#define DA5616_cs_H P2OUT|=BIT2//P2.2
#define DA5616_cs_L P2OUT&=~BIT2//P2.2
#define DA5616_fs_H P2OUT|=BIT3//P2.3
#define DA5616_fs_L P2OUT&=~BIT3//P2.3
uint data;
void int_clock()
{
uchar i;
BCSCTL1&=~X