-
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
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
Najnowsze wątki
- 2025-09-20 Łódź => Regular Network Engineer <=
- 2025-09-20 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-09-20 wrzesień
- 2025-09-20 Łomiarz wychodzi w marcu
- 2025-09-19 Czeladź => Specjalista ds. public relations <=
- 2025-09-19 Warszawa => International Freight Forwarder <=
- 2025-09-19 Warszawa => DevOps Engineer <=
- 2025-09-19 zasieg radaru
- 2025-09-19 JAK nie formułować sprzeciwów w kwestii Strefy w Gazie [Niemcy: Hasło rodem z III Rzeszy]
- 2025-09-19 Zmywarka Bosch SRV55T43EU - awaria
- 2025-09-18 Kuczyński twierdzi że WIBOR nie jest do ruszenia w sądach
- 2025-09-18 Warszawa => Senior Account Manager <=
- 2025-09-18 Warszawa => OSS System Administrator <=
- 2025-09-18 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-09-18 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=