Hallo, ich mal wieder ;-)
Ich bräuchte mal wieder einen Tipp:
Ich habe mein EEPROM mit dem folgenden File beschrieben:
1 | :20000000003C007800B400F0012C016801A401E0021C0258FFFFFFFFFFFFFFFFFFFFFFFF00
|
2 | :20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
|
3 | :20004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
|
4 | :20006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
|
5 | :20008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
|
6 | :2000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
|
7 | :2000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
|
8 | :2000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
|
9 | :20010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
10 | :20012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
|
11 | :20014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
|
12 | :20016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
|
13 | :20018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
|
14 | :2001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
|
15 | :2001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
|
16 | :2001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
|
17 | :20020000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
|
18 | :20022000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
|
19 | :20024000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
|
20 | :20026000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
|
21 | :20028000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
|
22 | :2002A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
|
23 | :2002C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
|
24 | :2002E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
|
25 | :20030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
|
26 | :20032000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
|
27 | :20034000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
|
28 | :20036000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
|
29 | :20038000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
|
30 | :2003A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
|
31 | :2003C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
|
32 | :2003E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
|
33 | :00000001FF
|
An den ersten paar stellen stehen die Werte 60 - 120 - 180 - 240 - ...
(Das sollen Sekunden sein, die mein Relais einschalten soll)
Wenn ich die Daten Byte- weise auslese bekomme ich schön meine Werte
heraus, wenn ich aber Word- weise lese bekomme ich z.B. anstelle von 240
496.
Hier der verwendete Code:
1 | #define F_CPU 8000000UL
|
2 |
|
3 | #include <avr/io.h>
|
4 | #include <avr/eeprom.h>
|
5 | #include <MYLib/UART_Manager.h>
|
6 | #include <util/delay.h>
|
7 |
|
8 | int main(void)
|
9 | {
|
10 | initUART(9600, 0, 8, PARITY_NONE, 1);
|
11 | UARTsendLine("Initialized");
|
12 |
|
13 | while (1)
|
14 | {
|
15 | uint8_t j = 1;
|
16 | for(uint16_t i = 1; i<256; i += 2)
|
17 | {
|
18 | uint16_t word = eeprom_read_word((uint16_t*) i);
|
19 | char Buffer[25];
|
20 | itoa(word, Buffer, 10);
|
21 | UARTsendString(Buffer);
|
22 |
|
23 | j++;
|
24 | if(j == 10)
|
25 | {
|
26 | j = 0;
|
27 | UARTsendLine("");
|
28 | }
|
29 | else
|
30 | {
|
31 | UARTsendString("-");
|
32 | }
|
33 | }
|
34 |
|
35 | UARTsendLine("");
|
36 | UARTsendLine("------------------------");
|
37 | _delay_ms(10000);
|
38 | }
|
39 | }
|
Der Output sieht folgendermaßen aus:
60-120-180-496-300-360-420-736-540
-168--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1--1
-1--1--1--1--1--1--1--1--1-
------------------------
Auch die ganzen 1sen kann ich mir nicht erklären.
Weiß jemand was ich da falsch mache?
Vielen Dank!