[code]
volatile unsigned int jj;
unsigned int ii,i;
char buffer[10];
double pom,uhel;
int main( void )
{
uint8_t *mem = malloc(BUFFER_SIZE);
.
.
.
jj = 0;
for (ii = 0; ii < 5; ii++){
pom = sin(data); //pom je typu double
output_data = (unsigned int) ((pom + 1) * 10000 * 3.2768); //prevod double na u int - rozsah 0000 az FFFF
horni_bajt = (output_data >> 8) & 0x00ff; //horni a spodni uint_8
mem[jj] = horni_bajt;
spodni_bajt = output_data & 0x00ff;
mem[jj+1] = spodni_bajt;
jj = jj + 2;
data = data + 1.57;
}
while (1){
jj = 0;
for(ii = 0; ii < 5; ii++){
horni_bajt = mem[jj];
spodni_bajt = mem[jj+1];
jj = jj + 2;
output_data = spojeni(horni_bajt,spodni_bajt);
lcd_gotoxy (0,2);
sprintf(buffer, "data do DAC: %d", output_data);
lcd_puts(buffer);
DAC_WRITE(2, output_data);
// _delay_ms(250);
}
}
while( 1 ){
}
return( 1 );
}[/code]