eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaavr i C - kto nie rozumie: kompilator, procesor czy ja? › Re: avr i C - kto nie rozumie: kompilator, procesor czy ja?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!news.supermedia.pl!newsfeed.pionier.net.pl!news.icpnet.pl!.POSTED!not-
    for-mail
    From: "Grzegorz Niemirowski" <g...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: avr i C - kto nie rozumie: kompilator, procesor czy ja?
    Date: Sun, 6 Jan 2013 16:58:31 +0100
    Organization: ICP News Server
    Lines: 58
    Message-ID: <kcc6v7$caa$1@news.icpnet.pl>
    References: <kcc0uj$9sa$1@node1.news.atman.pl> <kcc1od$5fp$1@news.icpnet.pl>
    <kcc3db$7c9$1@node2.news.atman.pl>
    NNTP-Posting-Host: 031011139062.warszawa.vectranet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=response
    Content-Transfer-Encoding: 8bit
    X-Trace: news.icpnet.pl 1357487911 12618 31.11.139.62 (6 Jan 2013 15:58:31 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Sun, 6 Jan 2013 15:58:31 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: OE PowerTool 4.5
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
    X-WWW: http://www.grzegorz.net/
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:640422
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: