eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPIC vs AVRRe: PIC vs AVR
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!news-out.readnews.c
    om!news-xxxfer.readnews.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed
    .neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.
    neostrada.pl.POSTED!not-for-mail
    From: Marek <f...@f...com>
    Newsgroups: pl.misc.elektronika
    Subject: Re: PIC vs AVR
    Date: Fri, 04 Apr 2014 10:52:49 +0200
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    In-Reply-To: <lhlplg$28a$1@mx1.internetia.pl>
    References: <533ddbbb$0$2158$65785112@news.neostrada.pl>
    <533e4e45$0$2370$65785112@news.neostrada.pl>
    <533e5a69$0$2147$65785112@news.neostrada.pl>
    <a...@n...neostrada.pl>
    <lhlplg$28a$1@mx1.internetia.pl>
    Message-ID: <a...@n...neostrada.pl>
    User-Agent: Groundhog Newsreader for Android
    Lines: 32
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: apn-37-7-44-191.dynamic.gprs.plus.pl
    X-Trace: 1396601573 unt-rea-a-01.news.neostrada.pl 2379 37.7.44.191:43361
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:662238
    [ ukryj nagłówki ]

    On Fri, 4 Apr 2014 10:00:32 +0200, Sylwester Łazar<i...@a...pl>
    wrote:
    > To jak sobie poradzić z ROMem?
    > Używać TBLRD, TBLWR, TBLADR, TABLAT, TBLPTRU:H:L?

    Przypominam, że rozmawiamy o kompilatorze C :-). Tymi rejestrami to
    ma zarządzać kompilator a nie programista.
    Przykład, użycie funkcji:
    strcpy(a,b);
    będzie prawidłowe, jeśli oba wskazniki a i b są typu char* i oba
    wskazują na bufory w ram.
    Nieprwawidłowe będzie użycie np. strcpy (a,"test"), ponieważ string
    "test" zostanie umieszczony przez kompilator w rom przez co będzie
    niezgodność drugiego argumentu, (który jest rom char* a nie char*), b
    musi być wskaznikiem na ram w przypadku tej funkcji.
    W takich przypadkach trzeba użyć dedykowanej funkcji
    strcpypgmram(a,"test") ;
    C18 dostarcza wszystkie funkcje, które zastępują klasyczne przy
    operacjach na stringach, gdy są mieszane argumenty (char* i rom
    char*) np: strstrrampgm, ststrpgnram itd.
    Porąbane, prawda? ;)
    Ale pomijajac tą upierdliwość (którą pozbyto się dopiero w XC8), C18
    jest bardzo dobrym kompilatorem dla arch. pic16 i nigdy mnie nie
    zawiódł a kompilowałem nim projekty, które sumarycznie przekroczyły
    steki tysięcy linii kodu. 100% problemów z nieprawidłowym dzialaniem
    kodu były związane z moimi błędami a nie błędem C18. Natomiast tego
    nie można powiedzieć no. o sdcc, ostatnio przeze mnie zgłoszony błąd
    dla pic14 był chyba w lutym, (mieli poprawić przy najbliższym wydaniu
    sdcc).

    --
    Marek

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: