example.c


1
#include <stdlib.h>
2
#include <stdio.h>
3
#include <string.h>
4
5
#include <avr/io.h>
6
#include <avr/power.h>
7
#include <avr/interrupt.h>
8
#include <avr/pgmspace.h>
9
10
#include <util/delay.h>
11
12
#if (F_CPU != 32000000)
13
#warning clock should better be 32MHz - USB needs it
14
#endif
15
16
17
extern void USBInit(void);
18
extern void USBPoll(void);
19
extern FILE *USBtty0;
20
21
22
23
int main(void) {
24
    USBInit();
25
26
    for (;;) {
27
        int c = fgetc(USBtty0);
28
29
        if (!(c<0)) {
30
            // bei gedrueckter Taste eine Ausgabe machen
31
            fprintf_P(USBtty0,PSTR("\r\nalte Werte\r\n\tADCA.CALL=0x%02x\r\n\tADCA.CALH=0x%02x\r\n"), ADCA.CALL, ADCA.CALH);
32
            NVM_CMD = NVM_CMD_READ_CALIB_ROW_gc;
33
            ADCA.CALL=pgm_read_byte(PROD_SIGNATURES_START+&PRODSIGNATURES_ADCACAL0);
34
            ADCA.CALH=pgm_read_byte(PROD_SIGNATURES_START+&PRODSIGNATURES_ADCACAL1);
35
            NVM_CMD = NVM_CMD_NO_OPERATION_gc;
36
            fprintf_P(USBtty0,PSTR("\r\nneue Werte\r\n\tADCA.CALL=0x%02x\r\n\tADCA.CALH=0x%02x\r\n"), ADCA.CALL, ADCA.CALH);
37
        }
38
39
        USBPoll();
40
    }
41
}