Перейти к содержанию

tom_avia

Members
  • Постов

    8
  • Зарегистрирован

  • Посещение

Информация

  • Город
    Вильнюс

Электроника

  • Стаж в электронике
    6-10 лет
  • Сфера радиоэлектроники
    Автоматика

Достижения tom_avia

Новичок

Новичок (1/14)

  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

0

Репутация

  1. Здравствуйте, Сдох блочек. На месте C1 был электролит 450В 1uF. Можно ли заменить пленочным или другим каким с аналогичными параметрами? Спасибо.
  2. Дратути, пытаюсь прошить USBAsp (mega8) через Arduino Uno. Ардуинка работает как ArduinoISP. Все делаю по этому примеру: http://hackthelife.org/diy/arduino-i-prochee/obnovlenie-proshivki-usbasp.html После комманды проверки подключение к USBAsp получаю сообщение, что фузы не может прочитать. Добавляю картинку. В USBAsp замкнута перемычка отвечающая за обновление прошивки. Почему не дает прочитать фузы? Еще на одном форуме прочитал, что можно к команде avrdude -C ../etc/avrdude.conf -c avrisp -P COM6 -b 19200 -p m8 -v добавить -u, что отключит safemode. Я так и сделал и выкинуло вот что. Можно ли сейчас прошивать программатор, это безопасно?
  3. Понял в чем глупая ошибка: не вызвал команды preset(); while(1);
  4. Я новичок в программировании AVR'ов. Собрал в Proteus'е схему с семисегментным индикатором: написал код: #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> void preset(){ DDRD = 0xFF; PORTD = 0b00000000; // 1 2 3 4 5 6 7 8 DDRB = 0x00; PORTB = 0b00000000; //0b|dp|g|f|e|d|c|b|a| } int main(void) { PORTD = ~0b00000110; _delay_ms(1000); PORTD = ~0b01011011; _delay_ms(1000); } Запускаю в Proteus'е, единицу показывает, затем зависает и не идет дальше. И не важно сколько дальше пише значений, на первоз значении застревает. В чем проблема?
  5. @BARS_ пробовал, не то.. @MadLor спасибо, попробую.
  6. В таком случае выдает __builtin_avr_delay_cycles expects an integer constant. По ходу delay требует константу. Только мне нужно, чтобы задержка именно менялась.
  7. Здравствуйте, пишу простой код для мигания светиков на ATmega8. Использую AVR Studio 6. Программа работает, но как только добавляю строку int del = rand(); для случайной задержки мигания, то выбивает ошибку "initializer element is not constant", которая относится к этой строке. Для наглядности показываю код: //ATmega8A #define RAND_MAX 0x3E7 #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> int del = rand(); void preset(){ DDRB = 0xFF; //0xFF = 0b11111111; PORTB - OUT; PORTB = 0x00; //0x00 = 0b00000000; Default PORTB - OFF; DDRC = 0x3F; PORTC = 0x00; DDRD = 0xFF; PORTD = 0x00; } int main (void){ preset(); while(1) { PORTB = 0b00000001; _delay_ms(del); PORTB = 0b00000011; _delay_ms(del); PORTB = 0b00000111; _delay_ms(del); PORTB = 0b00001111; _delay_ms(del); PORTB = 0b00011111; _delay_ms(del); PORTB = 0b00111111; _delay_ms(del); PORTB = 0b01111111; _delay_ms(del); PORTB = 0b11111111; _delay_ms(del); PORTB = 0x00; _delay_ms(del); } }
×
×
  • Создать...