książka o programowniu AVR w C

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
siem! chciałbym poznać opinie posiadaczy książki
http://allegro.pl/nowosc-mikrokontrolery-avr-jezyk-c-programowanie-i1409124955.html
na jej temat...
czy to taki sam syf jak książka "Andrzej Witkowski"? nie wiem co Ci debile
sobie myślą, zamiast opisać składnię i różnego rodzaju techniki
programowania
1000 stron poświęcają na listing 10 przykładów podłączenia LCD do AVR...
już ja bym spłodził coś lepszego - mimo zielonego pojęcia... pytam bo droga,
nie wiem czy warta?


Re: książka o programowniu AVR w C
Quoted text here. Click to load it
http://allegro.pl/nowosc-mikrokontrolery-avr-jezyk-c-programowanie-i1409124955.html
Quoted text here. Click to load it

 A może zainteresuj się książkami o ANSI C. AVR GCC idzie w tym kierunku. Do
tego datasheet'y i mnóstwo przykładów w sieci.
--
Pozdrawiam
Piotrek


Re: książka o programowniu AVR w C
Quoted text here. Click to load it

chyba żarty sobie stroisz... nie ma nic gorszego niż "stosowanie"
przykładów...
marzy mi się książka opisująca całą teorię programowania avr w c... nie
mówię
o if then else, ale stosowaniu rejestrów, przerwań itp... coś jak ten
dokument
pdf z winavr, ale ten dokument też "odpiepszony" na maksa...

żaden syfiasty przykład nie jest dla mnie zbyt wartościowy - o to pytałem w
pierwszym poście...


Re: książka o programowniu AVR w C
W dniu 2011-01-26 21:32, identifikator: 20040501 pisze:
Quoted text here. Click to load it


ProponujEA% w nastEA%pujB1%cej kolejnoB6%ci.
SB3%ownik ortograficzny.
JEA%zyk ANSI C Kernighan Brian, Ritchie Dennis M
PrzykB3%ady z sieci.

Quoted text here. Click to load it

MoBF%e ty nie jesteB6% wystarczajB1%co wartoB6%ciowy jako wannabe AVR dev=
eloper.
ZastanF3%w siEA% nad innym hobby bB1%dBC% zawodem.


--20%
Pozdrawiam
MD


Re: książka o programowniu AVR w C
Może ty nie jesteś wystarczająco wartościowy jako wannabe AVR developer.
Zastanów się nad innym hobby bądź zawodem.

może i tak, a wracając do książki - co ona zawiera może mi Ktoś powiedzieć?
czy 3/4 zawartości to listing programu do obsługi LCD?


Re: książka o programowniu AVR w C

Quoted text here. Click to load it
A czy zadałeś sobie trud przeczytania aukcji od początku do końca i
zapoznania się ze spisem treści i wybranymi fragmentami ? Akurat opis
sterowania LCD na HD44780 zajmuje 21 stron :D

K.


Re: książka o programowniu AVR w C
Quoted text here. Click to load it

I stanowi jakieś 5% książki, więc nie tylko LCD ona opisuje :)

--
Grzegorz Niemirowski
http://www.grzegorz.net /
We've slightly trimmed the long signature. Click to see the full one.
Re: książka o programowniu AVR w C
Proponuję w następującej kolejności.
[..]
Język ANSI C Kernighan Brian, Ritchie Dennis M
[..]
Quoted text here. Click to load it

Do tej książki jest pozycja "Ćwiczenia..." z przykładami.
Jako początkujący w C posiadam obie i nie źle mi idzie poznawanie tego
języka programowania.

Quoted text here. Click to load it



Racja. Kolega identyfikator... nieźle się popisał w tym wątku.

--
Pozdrawiam
Piotrek


Re: książka o programowniu AVR w C
Dnia Wed, 26 Jan 2011 21:32:39 +0100, identifikator: 20040501
napisał(a):

Quoted text here. Click to load it

To może zainteresuj się kursem programowania w C dla AVR z EdW oraz
artykułami z cyklu "AVR–GCC: kompilator C dla
mikrokontrolerĂłw AVR" publikowanymi w EP?
--
Pozdrawiam      Bad Worm        badworm[maupa]postpl
GG#2400455 ICQ#320399066

Re: książka o programowniu AVR w C
Quoted text here. Click to load it

Od tego są ksiązki do C *ogólnie*.

Quoted text here. Click to load it

Od tego są ksiązki o uC żeby właśnie przykłady z hardware były.

Quoted text here. Click to load it

A co?

Ogolnie jakość książek o uC w PL jest taka sobie. Zazwyczaj to coś w
rodzaju szybkiego kursu obsługi komputera, podstaw języka, i zaczyna
brakować miejsca na sedno sprawy czyli hardware. Przykłady też nie
zawsze wyższych lotów, często z błedami implementacyjnymi, wydziera się
zła (najczęsciej żadna) szkoła programowania, wstrętem/fobią do C++,
odkrywaniem koła na nowo i pieprzeniem głupot o lepszości makr nad
kontrolą typów.

Dlatego za każdym razem biorę głeboki oddech i traktuje ksiązke jako
małą encyklopedię z ładnym opisem rejestrów, a przynajmniej wygodniejszą
niż pdf. Nic jednak nie zastąpi praktyki programowania ogolnego, a na
pewno nie zastąpi go paru autorów różnych książek do uC którzy
reprezentują szkoły programowania z lat 70tych.

Czytaj z dystansem a będzie dobrze.

Re: książka o programowniu AVR w C
Zrozum język wyższego poziomu jakim jest C. Powstał po to, abyś nie
musiał się męczyć w programowanie pod procesor. Wystarczy napisać kilka
funkcji (czy metod - jeden pies) do obsługi danego procka. Dzięki temu
łatwo mi było kiedyś zmienić biblioteki Microchipa na Atmela.
Wystarczyły drobne zmiany odwołań do rejestrów. I reszta kodu ruszyła.
Używam fragmentów kodu napisanych pod kompy klasy PC w atmelkach i
działają. Generalnie potrzebny jest jedynie podręcznik C i datasheet
procka.
Ale oprócz tego trzeba wiedzieć jak działa kompilator (abstrakcyjny),
jak działa mikroprocesor (też abstrakcyjny). Obawiam się, że tutaj jest
pies pogrzebany. Określ się na jakim etapie jesteś - czy masz
doświadczenie i znasz assembler do AVR, czy pisałeś coś w C, czy innym
języku wyższego poziomu.

Re: książka o programowniu AVR w C
Quoted text here. Click to load it
musiał się męczyć w programowanie pod procesor. Wystarczy napisać kilka
funkcji (czy metod - jeden pies) do obsługi danego procka. Dzięki temu łatwo
mi było kiedyś zmienić biblioteki Microchipa na Atmela. Wystarczyły drobne
zmiany odwołań do rejestrów. I reszta kodu ruszyła. Używam fragmentów kodu
napisanych pod kompy klasy PC w atmelkach i działają. Generalnie potrzebny
jest jedynie podręcznik C i datasheet procka.
Quoted text here. Click to load it
działa mikroprocesor (też abstrakcyjny). Obawiam się, że tutaj jest pies
pogrzebany. Określ się na jakim etapie jesteś - czy masz doświadczenie i
znasz assembler do AVR, czy pisałeś coś w C, czy innym języku wyższego
poziomu.

Gdzie mozna znalezc informacje o abstrakcyjnym kompilatorze?

Tomek

Re: książka o programowniu AVR w C

Quoted text here. Click to load it
Nie piszę nic na procki więc może nie powinienem się odzywać, ale tak mi się
kojarzy wypowiedź kogoś biegłego w asemblerze AVR czytającego kurs C na AVR
w EP czy EdW (kilka ładnych lat temu) świadczące według mnie, że procek
trzeba znać dokładnie. Brzmiało to mniej więcej tak:
"Przecież tak nie można na AVR! Widać, że gość przeniósł się z 51 gdzie tak
było można. Facet użył pól bitowych do przekazywania flag między programem a
przerwaniami. Tego się nie da _dobrze_ zrealizować w asemblerze AVR bo
zmiana bitu wymaga dwu rozkazów i jak między nimi przyjdzie przerwanie to
ustawiona w przerwaniu flaga w tym samym rejestrze zostanie skasowana
pierwszym rozkazem po powrocie z przerwania."
Wiem, że tego typu problem może rozłożyć cały projekt. Zdarzyło nam się to z
Microchipami - przerwanie raz na około 3000 razy było "przegapiane". Sami
znaleźliśmy i zrozumieliśmy 3 błędy w działaniu tego procka, ale to był 4,
którego nie potrafiliśmy obejść. Uzyskanie erraty (opisywała 6 błędów) od
Microchipa zajęło nam 1,5 roku (nie odpowiadali na faxy - dopiero na
pierwszym seminarium Microchipa w Polsce ktoś obiecał erratę i za 3 miesiące
przysłał) no i było już za późno.
P.G.


Re: książka o programowniu AVR w C
Quoted text here. Click to load it

jasne że tak, cały ten C to nieudany patch dla laików...


Re: książka o programowniu AVR w C

Quoted text here. Click to load it

    To oczywiście może działać, po to m.in. jest cli i sei, aby w
newralgicznych miejscach przerwania wyłączać. Ale zgodze się, że pierwszy
projekt dobrze jest napisać w assemblerze, bo wtedy ma się pojęcie o
rzeczach, o których dłubacz kodu w C, nigdy nie będzie miał pojęcia.


Re: książka o programowniu AVR w C
W dniu 31.01.2011 11:05, Marcin Wasilewski pisze:
Quoted text here. Click to load it
Jak na przykład?

--
Pozdrawiam
Michoo

Re: książka o programowniu AVR w C
Quoted text here. Click to load it

Np. tak:

a) co jest zrzucane na stos i dlaczego w takiej kolejności,
b) że są rejestry w obszarze I/O i w ext. I/O, a w związku z tym sporo
inaczej je się obsługuje, w szczególności jeśli chodzi o operacje bitowe.
c) że czasami po zapisie do rejestru warto wstawić nop, zanim zaczniemy go
czytać.
d) że pewne instrukcje działają wyłącznie na dedykowanych rejestrach,
e) że wartość z rejestru PC to tak naprawdę liczba słów i trzeba ją pomnożyć
x2, jeśli chcemy tej wartości użyć poprzez lpm,
f) że używając w C zmiennej typu char do wymiany danych z proc. obsługi
przerwań, nie trzeba się tym przejmować, w odróżnieniu od int-ów i jeszcze
dłuższych zmiennych,
g) że znacznie lepiej mnożyć/dzielić przez 2, 4, 8 itd., niż przez 10.

I wiele, wiele innych rzeczy o których w tej chwili nie pamiętam.


Re: książka o programowniu AVR w C
W dniu 31.01.2011 15:11, Marcin Wasilewski pisze:
Quoted text here. Click to load it
Jakie to ma znaczenie w kodzie C?

Quoted text here. Click to load it
Jakie to ma znaczenie w kodzie C, poza informacją, że porty mają
możliwość ustawiania/gaszenia atomowo jednego bitu? (Co jest w
dokumentacji.)

Quoted text here. Click to load it
O co powinien zadbać kompilator. Tak samo jak o uporządkowany zapis do
rejestrów 16b.

Quoted text here. Click to load it
Jakie to ma znaczenie w kodzie C?

Quoted text here. Click to load it
Jakie to ma znaczenie w kodzie C? Poza tym to jest w dokumentacji.

Quoted text here. Click to load it
Chyba, że się operuje na bitach... Poza tym jest to okropny styl pisania
- komunikację z przerwaniami zawsze lepiej objąć w ATOMIC, bo inaczej
łatwo o prosty błąd przy późniejszych przeróbkach kodu. (A koszt
zazwyczaj pomijalny - 2 cykle +1 cykl opóźnienia.)

Quoted text here. Click to load it
Dlaczego? Jeżeli procesor ma układ sprzętowego mnożenia to jest to jeden
cykl różnicy. Dzielenie przez stałą sensowny kompilator zamienia na
mnożenie.

Quoted text here. Click to load it
I wiele, wiele innych rzeczy o których programista C _nie musi_ pamiętać.

--
Pozdrawiam
Michoo

Re: ksišżka o programowniu AVR w C
On Mon, 31 Jan 2011 15:30:22 +0100,  Michoo wrote:
Quoted text here. Click to load it

Mozna sie zastanowic nad glebokoscia wywolan, adresowaniem parametrow
itp.


Quoted text here. Click to load it

Bywaja niuanse ze jedne maja, inne nie maja, a jeszce inne maja gdzie
indziej.

Albo ze np nie ma posredniego adresowania I/O.

Quoted text here. Click to load it

W zasadzie tak.

Quoted text here. Click to load it

No i tu moze byc problem, bo rejestry specjalne moga wymagac
specjalnie, a dla zwyklej pamiec rzadko jest potrzeba zawsze blokowac
przerwania - ale czasem jest.

Quoted text here. Click to load it

Sprawdzic czy kompilator o tym wie :-)

Quoted text here. Click to load it

No, tu faktycznie moze sie kompilator wykazac pomyslowoscia i
optymalizowac na rozne sposoby - nawet lepiej niz niedouczony
programista.

Quoted text here. Click to load it

To mozliwe tylko dla zmiennego przecinka.

Quoted text here. Click to load it

Albo musi, i nie tylko pamietac, ale wiedziec jak to jest w procku, i
jak z tego skorzystac w C. Timery, komunikacja, przerwania ..

J.


Re: ksišżka o programowniu AVR w C
Quoted text here. Click to load it

i to zapewne znajdzie w tej książce... EOT


Site Timeline