Неправильный ответ. Это для ATMega16. Для ATMega8 вот что:Yellow Tiger писал(а):Поищи в ДШ слово CKDIV.

Т. е. я так понимаю надо вот так сделать:

CKSEL3=0
CKSEL2=1
CKSEL1=0
CKSEL0=0
SUT0=0
SUT1=1
Правильно?
Мимо. У мег - фуза "делить на 8" вообще нет. Я про него написал потому, что мне казалось, ты на 2313 делаешь - с какой-то соседней темой спутал.mr_smit писал(а):Неправильный ответ. Это для ATMega16
Внесу "тридцать вторую поправку" - перечисленные меги являются, как я понял, неким промежуточным вариантом между AT90 и мегами из семейства -8, -16, -32, -64 и 128. Мне их вживую видеть не приходилось, только в доках из серии "AVR515: Migrating from ATmega48/88/168 and ATmega48P/88P/168P/328P to ATtiny48/88", в связи с этим, я не только не встречал их в прайсах, но и в ДШ не заглядывал.maglev писал(а):... поправлю. Как минимум mega48/88/168 этот замечательный фьюз таки имеют.
Код: Выделить всё
DEVICE = atmega8
F_CPU = 12000000 # в Герцах
FUSE_L = 9f
FUSE_H = c9
#AVRDUDE = avrdude -c jtag2 -p $(DEVICE) -P usb:xx -v
JTAGICEII = "c:/Program Files/Atmel/AVR Tools/JTAGICEmkII/jtagiceii.exe" -d $(DEVICE) -mi
Код: Выделить всё
AVRDUDE = avrdude -c stk200 -p $(DEVICE)

Код: Выделить всё
AVRDUDE = avrdude -c usbasp -p $(DEVICE) # edit this line for your programmerТам надпись unknown device mega8, это значит что житаг айс не знает про мегу 8. Насколько я знаю у меги 8 не жтаг, значит прошить ее через айс не получится. Для того чтобы что-то прояснить поробуйте ключ -h как вам прога советует, возможно и список поддерживаемых контроллеров выведет.mr_smit писал(а):Скачал AVR Studio 4.15. Использую родной make файл:
Да что ж такое то....
Код: Выделить всё
<ВАШ ПУТЬ>/jtagiceii.exe -hЦифровая система применяется для конденсаторов менее 100 пФ. Двузначное число соответствует емкости: 05 - 5 пФ, 82 - 82 пФ и т.д
Код: Выделить всё
uchar usbFunctionWrite(uchar number, uchar on_off)
{
if (number == 1) {
if (on_off==1) {
PORTB.0=1;
}
else {
PORTB.0=0;
}
}
else if (number == 2) {
...
}
}
Код: Выделить всё
uchar usbFunctionWrite(uchar *data, uchar len)
{
number = data[0];
on_off = data[1];
if (number == 1) {
if (on_off==1) {
PORTB.0=1;
}
else {
PORTB.0=0;
}
}
else if (number == 2) {
...
}
return 1;
}
Код: Выделить всё
0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x08, // REPORT_COUNT (8)

Код: Выделить всё
uchar usbFunctionWrite(uchar *data, uchar len)
{
uchar number_;
uchar on_off;
number_ = data[0];
on_off = data[1];
if (number_ == 1) {
if (on_off==1) {
PORTB.0=1
}
else {
PORTB.0=0
}
}
return 1; /* return 1 if this was the last chunk */
}

Код: Выделить всё
uchar usbFunctionWrite(uchar *data, uchar len)
{
uchar number_;
uchar on_off;
number_ = data[0];
on_off = data[1];
if (number_ == 1) {
if (on_off==1) {
PORTB.0=1
}
else {
PORTB.0=0
};
};
return 1; /* return 1 if this was the last chunk */
}
Код: Выделить всё
PORTB = 0x80 // 10000000 PB0=1 остальные 0
Код: Выделить всё
uchar usbFunctionWrite(uchar *data, uchar len)
{
uchar number_;
uchar on_off;
number_ = data[0];
on_off = data[1];
if (number_ == 1) {
if (on_off==1) PORTB.0=1;
else PORTB.0=0;
}
return 1; /* return 1 if this was the last chunk */
}