Kód: Vybrať všetko
void WriteDAC ( unsigned int Data ) {
unsigned char I;
unsigned int DA;
LATCbits.LC6 = 0; // Clock
asm ("nop");
DA = Data | 0x3000; // DACa; GA=1; SHDN=1
LATCbits.LC7 = 0; // CS writing
asm ("nop");
asm ("nop");
for ( I = 0; I < 16u; I++ ) {
LATCbits.LC5 = ( DA & 0x8000 ); // Data bit
asm ("nop");
asm ("nop");
LATCbits.LC6 = 1; // Clock Up = data bit write
asm ("nop");
asm ("nop");
LATCbits.LC6 = 0; // Clock Down
asm ("nop");
asm ("nop");
DA <<= 1; // Rotate Data Left
}
LATCbits.LC7 = 1; // CS
asm ("nop");
asm ("nop");
LATCbits.LC4 = 0; // LDAC
asm ("nop");
asm ("nop");
LATCbits.LC4 = 1; // LDAC
}
nechce a nechce a ja tam neviem najst chybu
mplabx 1.60; xc8 1.21; pickit3; pic18f2550 na 20 MHz; mcp 4822