zoom/testdac/pic/dac.c

34 lines
633 B
C
Raw Permalink Normal View History

#include <pic.h>
#include "config.h"
#include "dac.h"
/* Initialize dac */
void dac_init(void)
{
TRIS_D15 = 0;
TRIS_D14 = 0;
TRIS_D13 = 0;
TRIS_D12 = 0;
TRIS_D11 = 0;
TRIS_D10 = 0;
TRIS_D9 = 0;
TRIS_D8 = 0;
TRIS_LDAC = 0;
LDAC = 1;
}
/* Write value to dac */
void dac_set(uint8_t val)
{
D15 = 0; if (val & (1 << 7)) D15 = 1;
D14 = 0; if (val & (1 << 6)) D14 = 1;
D13 = 0; if (val & (1 << 5)) D13 = 1;
D12 = 0; if (val & (1 << 4)) D12 = 1;
D11 = 0; if (val & (1 << 3)) D11 = 1;
D10 = 0; if (val & (1 << 2)) D10 = 1;
D9 = 0; if (val & (1 << 1)) D9 = 1;
D8 = 0; if (val & (1 << 0)) D8 = 1;
LDAC = 0;
LDAC = 1;
}