Hej!
Jestem początkujący
Chciałbym się dowiedzieć, co mam kupić na początek do zabawy z µC. Czytam forum przez ostatni tydzień dość intensywnie, lecz mam kilka pytań, na które nie znalazłem odpowiedzi
1. Jaki programator? Wiem, że są min. 2 rodzaje (ISP i HVProg - ISP In System Programming, oraz hw, który może odblokować zablokowany procek...). Na allegro znalazłem takie, które mnie zainteresowały:
- https://www.elektroda.pl/rtvforum/faq.php pkt.10.11
I teraz tak - jeden typu STK500 (Współpraca z AVRStudio, upgrade softu z AS), drugi prosty STK200.
Nie będę ukrywał również, że różnica cen jest znaczna, bo to każdy widzi
A może coś innego byście polecali? Dobrze by było, żeby sprzęt miał dobre zabezpieczenia, żeby nic nie zepsuć
Czy może spróbować budowę samemu? (Choć pewnie nie byłoby to tak estetyczne jak te kupne
)
2. Napisałem taki kod, który sprawdzałem w symulatorze AVRStudio i VMLab. Kod działa, lecz nie wiem, czy ma sens "w realu"
Oraz problemem jest przerwanie pracy programu. Zawsze mimo wywołania przerwania i spełnienia warunku pętla for dolatuje do końca...A jak ma być stop, to stop
Kolejne pytanie - jak wyliczyć poprawną wartość TCNTx, bo jak wyczytałem to jest czas po jakim jest przerwanie (TCCRx - wartość początkowa licznika, tak?)
Oto kod:
PS. Czy jest sens kupować płytkę stykową do zabawy dla początkującego?
Jeśli tak, to czy polecacie jakieś firmy/producentów? Czy polecacie jakiś sklep, gdzie mogę również kupić tanio programator, oraz taką płytkę, by zaoszczędzić na przesyłce?
Pozdrawiam!
Linki do aukcji usunąłem - regulamin p.10.11
[zumek]
Jestem początkujący
Chciałbym się dowiedzieć, co mam kupić na początek do zabawy z µC. Czytam forum przez ostatni tydzień dość intensywnie, lecz mam kilka pytań, na które nie znalazłem odpowiedzi
1. Jaki programator? Wiem, że są min. 2 rodzaje (ISP i HVProg - ISP In System Programming, oraz hw, który może odblokować zablokowany procek...). Na allegro znalazłem takie, które mnie zainteresowały:
- https://www.elektroda.pl/rtvforum/faq.php pkt.10.11
I teraz tak - jeden typu STK500 (Współpraca z AVRStudio, upgrade softu z AS), drugi prosty STK200.
Nie będę ukrywał również, że różnica cen jest znaczna, bo to każdy widzi
A może coś innego byście polecali? Dobrze by było, żeby sprzęt miał dobre zabezpieczenia, żeby nic nie zepsuć
Czy może spróbować budowę samemu? (Choć pewnie nie byłoby to tak estetyczne jak te kupne
2. Napisałem taki kod, który sprawdzałem w symulatorze AVRStudio i VMLab. Kod działa, lecz nie wiem, czy ma sens "w realu"
Oraz problemem jest przerwanie pracy programu. Zawsze mimo wywołania przerwania i spełnienia warunku pętla for dolatuje do końca...A jak ma być stop, to stop
Kolejne pytanie - jak wyliczyć poprawną wartość TCNTx, bo jak wyczytałem to jest czas po jakim jest przerwanie (TCCRx - wartość początkowa licznika, tak?)
Oto kod:
#define F_CPU 1000000UL // 1 MHz
#define DELAY 5
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
ISR(SIG_OVERFLOW0){
TCNT0 = 247;
if(bit_is_clear(PINB, 0)){
PORTB|=_BV(1);
}
}
int main(void){
TCCR0=0x03;
TCNT0=247;
TIMSK =1 << TOIE0;
sei();
DDRA=0xFF;
PORTA=0xFF;
DDRB=0x00;
PORTB=0xFF;
register int i,j;
while(1){
if(bit_is_clear(PINB,1))
PORTB&=~(_BV(1));
if(bit_is_clear(PORTB,1)){
for(i=7;i>=0;i--){
PORTA&=~(_BV(i));
if(i!=0)
PORTA&=~(_BV(i-1));
_delay_ms(DELAY);
PORTA|=(_BV(i));
_delay_ms(DELAY);
if(i==0){
for(j=0;j<=7;j++){
PORTA&=~(_BV(j));
if(j!=7)
PORTA&=~(_BV(j+1));
_delay_ms(DELAY);
PORTA|=(_BV(j));
_delay_ms(DELAY);
}
}
}
}
}
return 0;
}
PS. Czy jest sens kupować płytkę stykową do zabawy dla początkującego?
Jeśli tak, to czy polecacie jakieś firmy/producentów? Czy polecacie jakiś sklep, gdzie mogę również kupić tanio programator, oraz taką płytkę, by zaoszczędzić na przesyłce?
Pozdrawiam!
Linki do aukcji usunąłem - regulamin p.10.11
[zumek]