261
SDI_DIR_OUT();
LDAC_DIR_OUT();
CS_HIGH();
LDAC_HIGH();
SCK_HIGH();
SDI_HIGH();
}
void MCP4921_write(unsigned char cmd, unsigned int dac_value)
{
unsigned char s = 16;
unsigned int value = 0;
value = cmd;
value <<= 8;
value |= (dac_value & 0x0FFF);
CS_LOW();
while(s > 0)
{
if((value & 0x8000) != 0)
{
SDI_HIGH();
}
else
{
SDI_LOW();
}
SCK_LOW();
SCK_HIGH();
value <<= 1;
s--;
}
LDAC_LOW();
CS_HIGH();
delay_us(10);
LDAC_HIGH();
}
main.c
#include <msp430.h>
#include "delay.h"
#include "MCP4921.h"
void GPIO_graceInit(void);
void BCSplus_graceInit(void);
void System_graceInit(void);
void WDTplus_graceInit(void);