#include int main(void) { double u_ref=1.552; double u_adc; int i,adc_steps=255; unsigned short int u_adc_int; printf("; Voltage table for U_ref=%1.3fV and %i ADC steps\n", u_ref, adc_steps); printf("; 2 bytes per entry, values in mV*32\n"); printf("; generated by adc_steps\n"); printf("voltage_table:"); for(i=0; i<=adc_steps; i++) { if(i==adc_steps/2+1) printf("\nvoltage_table_half: "); if(!(i%8)) printf("\ndb "); else printf(", "); u_adc=(u_ref/(double)adc_steps)*(double)i; u_adc_int=(int)((u_adc*32000)+0.5); printf("%02xh, %02xh", (u_adc_int>>8), (u_adc_int&0x00ff)); } printf("\n"); return 0; }