Strona 1 z 4

: sobota 23 mar 2013, 08:26
autor: Pyra
Witam
Wczoraj... w sumie już dzisiaj, udało mi się napisać skompilować i uruchomić dwa pierwsze programy. Dwa Ledy, migające na zmianę, oraz dwa LEDy o różnej jasności - PWM :mrgreen:

Pozdrawiam

: sobota 23 mar 2013, 08:38
autor: greg
Witamy w C ;)

: sobota 23 mar 2013, 09:14
autor: Pyra
Witam
Na razie to było na zasadzie małpy, wklepanie przykładu z książki, potem analiza jak to działa i zamiast jednego migającego światełka, zrobiłem dwa migające na zmianę.

Pozdrawiam

: sobota 23 mar 2013, 11:04
autor: Marcin S.
Gratulacje! Jeśli znasz ang., polecam listy mailingowe avr-chat i avr-gcc-list.

Pzdr.
M.

: sobota 23 mar 2013, 12:14
autor: ptja
Pyra pisze:Na razie to było na zasadzie małpy, wklepanie przykładu z książki, potem analiza jak to działa i zamiast jednego migającego światełka, zrobiłem dwa migające na zmianę.
Ha przypomniało mi to mój pierwszy program w asemblerze: 7-bajtowa syrena na Meritum przepisany chyba z "Przeglądu Technicznego".
A potem nastąpiło zapisanie wielu kartek w kratkę (lepiej się wpisywało liczby hex i bin) oraz duże zużycie książki "Mikroprocesor w pytaniach i odpowiedziach" (jeśli dobrze pamiętam, że to była ta), w której miałem listę rozkazów Z80.

: sobota 23 mar 2013, 12:37
autor: ElSor
Ja już jako dziecko (ok 10-13lat) przepisywałem przykłady z jakiejś książki na "komputer" Schneider CPC464. Później zapis tego na kasetę i jaka radocha, gdy coś działało. Nie analizowałem jeszcze wtedy co, jak i dlaczego. Później jako starsze dziecko (ok 16-17lat) byłem zmuszony w wakacje albo i ferie zimowe być u babci jakieś 2 tygodnie. W tym czasie z dostępnego w Turbo Pascalu helpa troszkę się nauczyłem programowania. Zrobiłem program symulujący wirusa i program, który zadawał kilka pytań i na podstawie wprowadzonych danych "generował" różne odpowiedzi. Z tego co pamiętam zamiast pętli powtarzającej się 100x zrobiłem CTRL+c i 100x CTRL+v :mrgreen:
W technikum uczyli nas ASM na procesory '51 ale w ogóle nie umiałem tego pojąć i stwierdziłem, że to jakieś badziewie, jednak, gdy przyszła pora na pracę dyplomową to szybko przypomniałem sobie o tych procesorach i artykule z EdW o Bascomie.
Po dłuższej przerwie wróciłem w świat mikroprocesorów i natknąłem się na arduino. Coś nawet popisałem swojego ale jakoś nie wciągnęło mnie to i ponownie piszę w bascomie, mimo, że od 4-5 miesięcy coś skrobię w C (Atmel Studio 6) ale jakoś przełamać się nie mogę całkowicie, choć prosty driver latarkowy już samodzielnie napisałem i o dziwo działa jak trzeba :wink: Zastanawiam się, czy książka Kardasia pomoże mi w tym, bo z tego co widzę na jego blogu, nie jest łatwo a i podejście ma inne nieco niż Tomasz Francuz w swojej książce. Człowiek chyba się starzeje, czasu też mało a tak bardzo by się chciało już mieć to za sobą znając zalety języka C.

: sobota 23 mar 2013, 14:58
autor: joon
A ja polecam wygodne środowisko Eclipse, po odpowiednim skonfigurowaniu praca jest naprawdę bardzo przyjemna ;)

Zastanawiam się, czy książka Kardasia pomoże mi w tym, bo z tego co widzę na jego blogu, nie jest łatwo a i podejście ma inne nieco niż Tomasz Francuz w swojej książce. ]
Jest dużo łatwiej niż myślisz ;)
A na forum jest masa ludzi którzy praktycznie przez całą dobę są w stanie pomóc- wiem bo korzystam. Sam długi czas starałem się nauczyć c z różnych kursów, blogów, książek, dopiero jednak książka Mirka sprawiła że ruszyłem do przodu.

: sobota 23 mar 2013, 15:02
autor: Pyra
Witam
Ja pisałem w Basicu i asm na Spectrum, miałem nawet środowisko do asm chyba Zeus się to nazywało...
Nie wstydzę się Bascoma jak to nieraz na elektrodzie można usłyszeć, po prostu trzeba dobierać narzędzie do potrzeb.
ElSor pisze:...Człowiek chyba się starzeje, czasu też mało ...
Coś w tym jest...

Pozdrawiam

: sobota 23 mar 2013, 15:16
autor: ElSor
joon pisze:A ja polecam wygodne środowisko Eclipse, po odpowiednim skonfigurowaniu praca jest naprawdę bardzo przyjemna ;)
Do książki może i mnie przekonasz ale do Eclipsa już nie. Na blogu kiedyś napomniałem, że nie można programować bezpośrednio nowszych procesorów (na tej liście jest np AtTiny13A). Wspólnie z Mirkiem ustaliliśmy, że można zmieniać config AVRDude i dodawać nowe procki. Znam pozostałe wady i zalety obu i zostaję przy Atmel Studio, tym bardziej, że posiadam programator AVR ISP mk II.
Idą święta więc czas na książkę od zajączka :razz:

: sobota 23 mar 2013, 15:25
autor: joon
ElSor, ja tam w c jestem początkujący ale zobacz na screany które chwilę temu zrobiłem z Eclipse oraz mkAVR calculator.

Osobiście siedzę na płytce uruchomieniowej oraz na systemach z m8, m32 więc nie mam jak sprawdzić jak z tym Attiny13A

Obrazek
Obrazek

: sobota 23 mar 2013, 16:10
autor: ptja
Pyra pisze:po prostu trzeba dobierać narzędzie do potrzeb.
zgadza się. Tylko w C spokojnie napiszesz i program na 10 linii i całego Unixa (a np. gcc ćwierć wieku temu miało 110 tys. linii kodu), a w basicu im większy program, tym więcej "walki z narzędziem", coraz trudniej zapewnić niezależność modułów programu i brak interferencji (np. nazwy zmiennych).

: sobota 23 mar 2013, 17:02
autor: fredek
ElSor pisze:...że nie można programować bezpośrednio nowszych procesorów (na tej liście jest np AtTiny13A)
A jak programujesz ATtiny13A (brak wsparcia w avrdude) jako ATtiny13 to coś tracisz?
Mam Atmel Studio 6 oraz Eclipse Indigo i jakoś tylko Eclipse używam, dużo mniej miejsca zajmuje, działa szybko nawet na netbooku i wygodnie się kilkoma projektami zarządza, edytor kodu jest w Eclipse rewelacyjny i ma sporo przydatnych bajerków ułatwiających pisanie :-)

: sobota 23 mar 2013, 19:00
autor: ElSor
joon pisze:Osobiście siedzę na płytce uruchomieniowej oraz na systemach z m8, m32 więc nie mam jak sprawdzić jak z tym Attiny13A
Jak wybierzesz 13A i będziesz chciał zaprogramować w AVRDude to wyskoczy błąd w stylu "AVRDude don't support device ATTiny 13A" czyli po naszemu, ze nic z tego.
fredek pisze:A jak programujesz ATtiny13A (brak wsparcia w avrdude) jako ATtiny13 to coś tracisz?
W tym przypadku tracę możliwość wykorzystania 2 rejestrów dodanych w wersji A. Procesorów nie obsługiwanych przez AVRDude jest więcej, więc jeśli mam przeskoczyć na C to nie chcę się już na początku ograniczać.
Netbooka nie mam a zwykłego laptopa z 4 rdzeniami, 2 dyskami (w tym system na SSD) takie argumenty jak szybkość czy objętość środowiska są dla mnie mało istotnymi argumentami. Fakt, że nie wykorzystam 90% możliwości Atmel Studio ale przynajmniej mogę użyć każdego z rejestrów każdego z procesorów w tym ATTiny 10, który jest ciekawą opcją do latarek :razz:
Jak na razie i tak nie jest ważne czy w garażu stoi mercedes czy smart jak nie ma się tylko kartę motorowerową ;)

: sobota 23 mar 2013, 21:51
autor: Pyra
Witam
ptja pisze:...a w basicu im większy program, tym więcej "walki z narzędziem", coraz trudniej zapewnić niezależność modułów programu i brak interferencji (np. nazwy zmiennych).
No widzisz, tu wypływają przyzwyczajenia z innego języka. W Bascomie też można cuda robić, zobacz na dzieła manekinen. Uważam że Bascom jest nawet wygodniejszy do prostych aplikacji, kiedy nie musisz znać dokładnie funkcji rejestrów, zasady sterowania wyświetlaczem LCD itp.

Pozdrawiam

: niedziela 24 mar 2013, 19:06
autor: Pyra
Witam
No i mogę się pochwalić moim pierwszym programem, zmieniającym jasność dwóch diod LED w odwróconej proporcji.
#include <avr/io.h>
#include <util/delay.h>


int main()
{
TCCR0A=0xa1;
TCCR0B|=(1<<CS00);
DDRB|=(1<<PB0) | (1<<PB1);
for(;;)
{

unsigned int short y=0;
while (y<255)
{
OCR0A = y;
OCR0B =~y;
_delay_ms(50);
y++;
};

while (y>0)
{
OCR0A = y;
OCR0B =~y;
_delay_ms(50);
y--;
};

}

while(1) {}

}
Pozdrawiam