witam
zaznaczę, że zaczynam z uC na co dzień bawię się PLC
zmontowałem sobie układ na płytce stykowej
wgrałem prosty program z kursu który znalazłem w necie
/* przykład 2.1 "leds.c" */
/* 8 diod LED przłączonych do portu D */
/* ATmega 1MHz */
#define F_CPU 1000000L
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
/* Wszystkie linie portu D będą wyjściami */
DDRD = 0xFF; /* 0xFF binarnie 1111 1111 */
/* Początek nieskończonej pętli */
while(1)
{
PORTD = 0xaa; /* 0xaa binarnie 1010 1010 */
/* opóźnienie 0.33 sek. */
_delay_ms(330);
PORTD = 0x55; /* 0x55 binarnie 0101 0101 */
/* opóźnienie 0.33 sek. */
_delay_ms(330);
}
}
program się zapisał
[mentor@localhost avr_programy]$ avrdude -p atmega8 -c stk200 -U flash:w:myProject1.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9307
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "myProject1.hex"
avrdude: input file myProject1.hex auto detected as Intel Hex
avrdude: writing flash (106 bytes):
Writing | ################################################## | 100% 0.08s
avrdude: 106 bytes of flash written
avrdude: verifying flash memory against myProject1.hex:
avrdude: load data flash data from input file myProject1.hex:
avrdude: input file myProject1.hex auto detected as Intel Hex
avrdude: input file myProject1.hex contains 106 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.09s
avrdude: verifying ...
avrdude: 106 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
niestety nic nie mruga
na żadnym wyjściu nie ma stanu wysokiego
znalazłem jakiś informacje na temat fuse bitów
nawet w ramach desperacji wgrałem te ustawienia
dla ustawienia atmega8 do pracy na wewn. 1MHz :
avrdude -p atmega8 -c STK200 -U hfuse:w:0xD9:m -U lfuse:w:0xe1:m
jeśli ktoś jest w stanie coś podpowiedzieć będę bardzo wdzięczny
układ kupowałem wysyłkowo
chciałbym go uruchomić bo z przesyłką nie jest taki tani, niestety do sklepu elektronicznego nie mam dostępu
z góry dzięki za pomoc
ps. działam na linuksie
niestety na wirtualnej maszynie nie mam dostępu do portu lpt więc nie mogę odczytać fuse bitów
pewnie można je rozpisać z tych słów hfuse:w:0xD9:m -U lfuse:w:0xe1:m
zaznaczę, że zaczynam z uC na co dzień bawię się PLC
zmontowałem sobie układ na płytce stykowej
wgrałem prosty program z kursu który znalazłem w necie
/* przykład 2.1 "leds.c" */
/* 8 diod LED przłączonych do portu D */
/* ATmega 1MHz */
#define F_CPU 1000000L
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
/* Wszystkie linie portu D będą wyjściami */
DDRD = 0xFF; /* 0xFF binarnie 1111 1111 */
/* Początek nieskończonej pętli */
while(1)
{
PORTD = 0xaa; /* 0xaa binarnie 1010 1010 */
/* opóźnienie 0.33 sek. */
_delay_ms(330);
PORTD = 0x55; /* 0x55 binarnie 0101 0101 */
/* opóźnienie 0.33 sek. */
_delay_ms(330);
}
}
program się zapisał
[mentor@localhost avr_programy]$ avrdude -p atmega8 -c stk200 -U flash:w:myProject1.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9307
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "myProject1.hex"
avrdude: input file myProject1.hex auto detected as Intel Hex
avrdude: writing flash (106 bytes):
Writing | ################################################## | 100% 0.08s
avrdude: 106 bytes of flash written
avrdude: verifying flash memory against myProject1.hex:
avrdude: load data flash data from input file myProject1.hex:
avrdude: input file myProject1.hex auto detected as Intel Hex
avrdude: input file myProject1.hex contains 106 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.09s
avrdude: verifying ...
avrdude: 106 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
niestety nic nie mruga
na żadnym wyjściu nie ma stanu wysokiego
znalazłem jakiś informacje na temat fuse bitów
nawet w ramach desperacji wgrałem te ustawienia
dla ustawienia atmega8 do pracy na wewn. 1MHz :
avrdude -p atmega8 -c STK200 -U hfuse:w:0xD9:m -U lfuse:w:0xe1:m
jeśli ktoś jest w stanie coś podpowiedzieć będę bardzo wdzięczny
układ kupowałem wysyłkowo
chciałbym go uruchomić bo z przesyłką nie jest taki tani, niestety do sklepu elektronicznego nie mam dostępu
z góry dzięki za pomoc
ps. działam na linuksie
niestety na wirtualnej maszynie nie mam dostępu do portu lpt więc nie mogę odczytać fuse bitów
pewnie można je rozpisać z tych słów hfuse:w:0xD9:m -U lfuse:w:0xe1:m
