AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
15.03.2010, 22:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
poff
Это работало в отладчике AVR Studio
|
|
|
|
16.03.2010, 00:37
|
|
Прохожий
Регистрация: 21.06.2006
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
to _guardianangel. Если компилировать Ваш *.asm-файл с помощью tavrasm, то он ругается и выдает следующее сообщение "Undefined variable referenced in offset
.org INT_VECTORS_SIZE".
Если залить готовый HEX, предоставленый Вами, то эфект тот-же - не работает.
Кстати, я уже писал, что проверял свой файл в AVR Studio - уменя тоже все работало. ????????? Спасибо за поддержку..
|
|
|
|
16.03.2010, 10:26
|
|
Прохожий
Регистрация: 09.03.2010
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
Сообщение от valentin157
|
народ помогите пож. новичку правильно завести Attiny25 на кварце 32768
|
Спасибо, отвечу сам себе наверно Attiny25 на кварце 32,768 Кгц не работает
|
|
|
|
16.03.2010, 11:59
|
|
Частый гость
Регистрация: 19.10.2007
Сообщений: 42
Сказал спасибо: 1
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
Сообщение от poff
|
Уважаемые колеги, прошу Вашей помощи, поскольку сам, после трех бессонных ночей вошел в ступор, все идеи закончились..
Суть проблемы: Програмуля во вложенном файле выполняется только до первой метки - метка обозначена строкой из восьмерок в коментариях после точки с запятой.
Используется процессор MEGA8535 16PU. Таже програмуля переделанная под ATTINY2313 работает нормально. Для компиляции использую tavrasm.
Подскажите где грабли пожалуйста.. Заранее благодарен.
|
Не знаю насколько это влияет на ваш алгоритм но
здесь после команды сравнения нет условного перехода:
_068:
cpi temp,15
ret
ldi temp,0
ret
|
|
|
|
16.03.2010, 21:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
poff по идее все должно работать, смотрите фьюзы и проверяйте сам контроллер, возможно железяка работает, только внешние микросхемы не инитятся. Было у меня такое с Ds1307. День угробил пока дошло микросхему сменить. Посмотрите осцилографом контроллер ченить выбрасывает на выводы? Кста не в тему - а с чего tavrasm используешь? Под *nix сидишь?
|
|
|
|
19.03.2010, 00:58
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 48
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
Привет, подскажите, начал программировать 1wire ds18b20, начал писать протокол, сразу же возник косяк, выдаю резет в шину, ds переводится в ноль и на этом все, ноль висит в линии, отключаю ее, все нормально ноль исчезает, что может быть, правильно ли работает библиотека, хотя протеусу я верю больше чем себе
|
|
|
|
19.03.2010, 01:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
так ниче не скажу. код выложи - оценим есть ли касяки.
|
|
|
|
19.03.2010, 01:46
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 48
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
вот процедуры которые просто используются:
int main()
{
while(1)
{
WIRE_RESET();
_delay_ms(1);
}
}
а это процедуры с ванвайр
void WIREPIN_0()
{
WIREDDR|=WIREPIN;
WIREPORT&=~WIREPIN;
}
void WIREPIN_1()
{
WIREPORT|=WIREPIN;
WIREDDR&=~WIREPIN;
WIREPORT|=WIREPIN;
}
void WIRE_RESET()
{
WIREPIN_0();
_delay_us(100);
_delay_us(100);
_delay_us(100);
_delay_us(100);
_delay_us(100);
WIREPIN_1();
}
смысл просто переводим
порт на выход в ноль-это ноль
порт на вход + pullup -это 1
и посылаем на шину сброс в течении 500 микросек
и ждем миллисекунду
почему то микросхема в протеусе при поступлении сброса не переходит в состояние приема(все время ноль на ней)
без нее все отлично, низкий уровень в течении 500мкс ,высокий 1мс,и по кругу
почему не срабатывает пресенс, не пойму.
|
|
|
|
19.03.2010, 01:52
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 48
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
Разобрался, все работает если не подтягивать встроенным резистором, если написать так то работает
DDRA=0x01;
PORTA=0;
_delay_us(100);
_delay_us(100);
_delay_us(100);
_delay_us(100);
_delay_us(100);
DDRA=0x00;
_delay_ms(1);
если так то нет:
DDRA=0x01;
PORTA=0;
_delay_us(100);
_delay_us(100);
_delay_us(100);
_delay_us(100);
_delay_us(100);
DDRA=0x00;
PORTA=0x01;
_delay_ms(1);
|
|
|
|
19.03.2010, 01:53
|
|
Частый гость
Регистрация: 08.09.2009
Сообщений: 48
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Программирование AVR, FUSE и все что с этим связано.
А почему так? я что то не пойму, это косяк протеуса? подтягивание внутреннее к + не должно же мешать
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:16.
|
|