роботы робототехника микроконтроллеры


 Страниц (1): [1]   

> Описание: Прошивка работает не корректно
opot Post Id



Лейтенант


Сообщений всего: 25
Дата рег-ции: Март 2013  



Купил attiny2313, написал тестовую прошивку в AtmelStudio
CODE:
# define F_CPU 1000000UL

#include <util/delay.h>
#include <avr/io.h>

int main(void)
{
DDRD = 0xff;

while(1)
{
PORTD = 0b11111110;
_delay_ms(1000);
PORTD = 0b11111101;
_delay_ms(1000);
}
}

Залил с помощью usbasp, внешний кварц не использовал, фьюзы не менял, питание от 5в(usb зарядник от телефона)
Fuse
L 0xE4
H 0xCB
E 0xFF
LB 0x3F

при подключение светодиода очень быстро моргает, пробовал переписать прошивку для других портов, пинов: ситуация та же. а не используемых портах значения не меняются, только на используемых тут
p.s. attiny2313 не attiny2313v
p.p.s в proteus всё работает как надо
 
 Top
Роботов Post Id



Гуру


Сообщений всего: 1350
Дата рег-ции: Июнь 2011  



Надеюсь светодиод через резистор подключен?
 
 Top
opot Post Id



Лейтенант


Сообщений всего: 25
Дата рег-ции: Март 2013  



Роботов пишет:
Надеюсь светодиод через резистор подключен?

нет, но он горит ярко(даже слишком), при подключении напрямую, микроконтроллер только сбросит напряжение. При том же коде, программаторе, светодиоде, токах, на аттини26 всё в порядке
 
 Top
Роботов Post Id



Гуру


Сообщений всего: 1350
Дата рег-ции: Июнь 2011  



Светодиод подключать без токоограничительного резистора КАТЕГОРИЧЕСКИ НЕЛЬЗЯ!
Это чревато перегрузкой порта ввода/вывода и дальнейшего выхода его из строя.
(см. даташит).
З.Ы.
Может он часто мигает потому что при включении светодиода происходит перегруз МК, и цикл начинается заново, и так бесконечно.
 
 Top
opot Post Id



Лейтенант


Сообщений всего: 25
Дата рег-ции: Март 2013  



Включил с резистором в 300 Ом, только моргать стал очень тускло, так же подключал всё это с использованием l293dne, реакция на резистор та же(печатка разведена для attiny2313 и этот драйвер, изначально предполагалось управлять двигателями с помощью мк, а светодиод пока использовал для отладки)
 
 Top
opot Post Id



Лейтенант


Сообщений всего: 25
Дата рег-ции: Март 2013  



Проблема решена, дело было во фью. Где точно ошибка не подскажу. Брал дефолты отсюда http://www.engbedded.com/fusecalcах
 
 Top
Vladimir72 Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  



Проблема была с частотой тактирования, что-то был напутал
 
 Top
opot Post Id



Лейтенант


Сообщений всего: 25
Дата рег-ции: Март 2013  



Кажется это был watchdog. Т.к. при коде
CODE:
#define F_CPU 1000000UL
#include <avr/io.h>
int main(void)
{
DDRB = 0xff;
DDRA = 0xff;

PORTB = 0b11111110;
PORTA = 0b11111101;
while (1){}
}

моргания всё равно было
хотя с частотой тоже были проблемы, был отключен CKDIV8
 
 Top
Страниц (1): [1]
« Программирование микроконтроллеров »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru