Timo wrote:
> Hier die LSS-Files. Ich bin mal gespannt, was Du da rauslesen kannst
Leider nichts, weil die beiden Dateien nahezu identisch sind.
Unterschiede befinden sich lediglich im Bereich der Debugsymbole aber
nicht im Bereich des Quellcodes.
Für mich sieht es so aus, als ob beide Male eine Source übersetzt wurde,
die die untenstehenden Zeilen überhaupt nicht enthält!
Zeilen 524-566 aus main.c:
1 | else if (channels && sample == channels) {
|
2 | adcflag = 0;
|
3 | sample = 0;
|
4 | if (linebrkneeded) {
|
5 | linebrkneeded = 0;
|
6 | mmc_write_byte(0x0d);
|
7 | mmc_write_byte(0x0a);
|
8 | }
|
9 |
|
10 | // ********************************************************************************************************
|
11 | //detektiere Schwelle
|
12 | u08 sichern=0;
|
13 |
|
14 | tx_rdp_Copy=tx_rdp; // Pointer übernehmen
|
15 |
|
16 | for (i=0; i<channels; i++)
|
17 | {
|
18 | if (((tx_buf[tx_rdp_Copy]+256*tx_buf[tx_rdp_Copy+1])>SCHWELLWERT_MAX))//||((tx_buf[tx_rdp_Copy]+256*tx_buf[tx_rdp_Copy+1])<480))
|
19 | {
|
20 | sichern++;
|
21 | }
|
22 | tx_rdp_Copy+=2;
|
23 | tx_rdp_Copy &= TX_BUF_SIZE-1;
|
24 |
|
25 | }
|
26 | // ********************************************************************************************************
|
27 |
|
28 | /*if (time==1)
|
29 | {
|
30 | for (i=0; i<channels; i++)
|
31 | {
|
32 | adc_offset[i*2]=tx_buf[tx_rdp_Copy];
|
33 | adc_offset[i*2+1]=tx_buf[tx_rdp_Copy+1];
|
34 | tx_rdp_Copy+=2;
|
35 | tx_rdp_Copy &= TX_BUF_SIZE-1;
|
36 | }
|
37 | }*/
|
38 |
|
39 | // Schreibe Datenblock
|
40 | //if (sichern>0)
|
41 | //{
|
42 | PORT_LED &= ~PIN_LED; // kurzer Peak zum "REC"-rausmessen
|
43 | PORT_LED &= ~PIN_LED;
|
Zeilen 3868-3900 aus ...nicht auskommentiert....lss
1 | else if (channels && sample == channels) {
|
2 | 157c: 80 91 56 01 lds r24, 0x0156
|
3 | 1580: 90 91 61 01 lds r25, 0x0161
|
4 | 1584: 88 23 and r24, r24
|
5 | 1586: 09 f4 brne .+2 ; 0x158a <main+0x438>
|
6 | 1588: 45 c0 rjmp .+138 ; 0x1614 <main+0x4c2>
|
7 | 158a: 98 17 cp r25, r24
|
8 | 158c: 09 f0 breq .+2 ; 0x1590 <main+0x43e>
|
9 | 158e: 5d c0 rjmp .+186 ; 0x164a <main+0x4f8>
|
10 | adcflag = 0;
|
11 | 1590: 10 92 b1 04 sts 0x04B1, r1
|
12 | sample = 0;
|
13 | 1594: 10 92 61 01 sts 0x0161, r1
|
14 | if (linebrkneeded) {
|
15 | 1598: 22 23 and r18, r18
|
16 | 159a: 21 f0 breq .+8 ; 0x15a4 <main+0x452>
|
17 | linebrkneeded = 0;
|
18 | mmc_write_byte(0x0d);
|
19 | 159c: 8d e0 ldi r24, 0x0D ; 13
|
20 | 159e: 7c d2 rcall .+1272 ; 0x1a98 <mmc_write_byte>
|
21 | mmc_write_byte(0x0a);
|
22 | 15a0: 8a e0 ldi r24, 0x0A ; 10
|
23 | 15a2: 7a d2 rcall .+1268 ; 0x1a98 <mmc_write_byte>
|
24 | }*/
|
25 |
|
26 | // Schreibe Datenblock
|
27 | //if (sichern>0)
|
28 | //{
|
29 | PORT_LED &= ~PIN_LED; // kurzer Peak zum "REC"-rausmessen
|
30 | 15a4: 28 98 cbi 0x05, 0 ; 5
|
31 | PORT_LED &= ~PIN_LED;
|
32 | 15a6: 28 98 cbi 0x05, 0 ; 5
|
33 | 15a8: 2e c0 rjmp .+92 ; 0x1606 <main+0x4b4>
|
In Zeile 3892 (vor // Schreibe Datenblock) fehlt der komplette
Anweisungsblock zwischen den beiden // *** oben.
Hast du zum Übersetzen die Optimierung eingeschaltet? tx_rdp_Copy und
sichern wird ja nur in diesem Block benutzt und der Compiler kann die,
da hier funktionslos, ersatzlos streichen!