-
Data: 2013-01-06 16:58:31
Temat: Re: avr i C - kto nie rozumie: kompilator, procesor czy ja?
Od: "Grzegorz Niemirowski" <g...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Jakub Rakus <s...@o...pl> napisał(a):
> Korzystam z code::blocks i avr-gcc w wersji 4.5.3. Ustawiam optymalizację
> na -O. Co ciekawe, gdy wyłączę optymalizację w ogóle, oczywiście mam
> ostrzeżenie, że funkcje z delay.h będą działać niepoprawnie, kompiluje
> się, program wynikowy jest ogromny, ale... działa.
Nie wiem, co u Ciebie dokładnie oznacza -O, u mnie jest to -O1. Twój program
działa bez żadnego problemu u mnie na ATmega32 (może kompilujesz na zły
procesor). Używam Atmel Studio 6 (
AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.0_663) 4.6.2)
Poza tym w pierwszym poście piszesz: "I zonk, na porcie ciągle stan wysoki."
z czego wynika, że u Ciebie w ogóle nie wykonuje się pętla while.
Mój lss:
00000092 <main>:
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRD = 0xFF;
92: 8f ef ldi r24, 0xFF ; 255
94: 81 bb out 0x11, r24 ; 17
PORTD = 0x00;
96: 12 ba out 0x12, r1 ; 18
while(1)
{
PORTD ^= _BV(0);
98: 91 e0 ldi r25, 0x01 ; 1
9a: 82 b3 in r24, 0x12 ; 18
9c: 89 27 eor r24, r25
9e: 82 bb out 0x12, r24 ; 18
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
a0: 2f ef ldi r18, 0xFF ; 255
a2: 39 e6 ldi r19, 0x69 ; 105
a4: 48 e1 ldi r20, 0x18 ; 24
a6: 21 50 subi r18, 0x01 ; 1
a8: 30 40 sbci r19, 0x00 ; 0
aa: 40 40 sbci r20, 0x00 ; 0
ac: e1 f7 brne .-8 ; 0xa6 <main+0x14>
ae: 00 c0 rjmp .+0 ; 0xb0 <main+0x1e>
b0: 00 00 nop
b2: f3 cf rjmp .-26 ; 0x9a <main+0x8>
000000b4 <_exit>:
b4: f8 94 cli
000000b6 <__stop_program>:
b6: ff cf rjmp .-2 ; 0xb6 <__stop_program>
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 0 days, 0 hours, 6 minutes and 49 seconds
Następne wpisy z tego wątku
- 06.01.13 17:28 Jakub Rakus
- 06.01.13 17:46 Grzegorz Niemirowski
- 06.01.13 18:13 Jakub Rakus
- 06.01.13 18:56 Grzegorz Niemirowski
- 06.01.13 20:48 Jakub Rakus
- 06.01.13 22:15 Atlantis
- 08.01.13 11:15 Adam Wysocki
- 08.01.13 17:28 Grzegorz Niemirowski
- 09.01.13 09:51 Michał Lankosz
- 09.01.13 13:36 Adam Wysocki
Najnowsze wątki z tej grupy
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
Najnowsze wątki
- 2025-05-23 Re: Wyzywanie Bodnara od "gangstera i bandyty" wycenione (w pozwie) na 20_000 PLN
- 2025-05-23 Gdańsk => Programista Delphi <=
- 2025-05-23 Warszawa => Senior Key Account Manager IT <=
- 2025-05-23 Zielonka => Key Account Manager IT <=
- 2025-05-23 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-05-23 Elektrozawór do tlenu
- 2025-05-23 Białystok => NMS System Administrator <=
- 2025-05-23 Warszawa => Cloud Engineer (Azure) <=
- 2025-05-23 Warszawa => Inżynier cloud (Azure) <=
- 2025-05-23 Warszawa => Programista Full Stack .Net <=
- 2025-05-23 Warszawa => Software .Net Developer <=
- 2025-05-23 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-05-23 Warszawa => Starszy Programista C <=
- 2025-05-23 Polskie Obserwatorium Bezpiecze?stwa Ruchu Drogowego (POBR) mapa wypadk??w
- 2025-05-23 Warszawa => Team Lead Data Engineer (obszar Snowflake) <=