реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> ATtiny48 - проблемы с тактированием
nk@
сообщение Mar 29 2011, 05:53
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138



Цитата(demiurg_spb @ Mar 27 2011, 12:35) *
Ради истины в любой версии WinAVR (за последние лет 5) были небольшие трудно понимаемые косячки с задержками.

Не могли бы Вы код предоставить в студию, который компилится с "косячком". Мне просто для себя интересно, где могут грабли лежать. Для чистоты эксперимента, укажите какой чип, версию компилятора, и приложите мэйкфайл. Я вот уже лет 5 использую для AVR GCC и, именно на такие грабли, ни разу не наступал smile3046.gif Я не хочу сказать, что у GCC все идеально, но вот в сравнении с некоторыми другими, купленными за деньги, правда под ARM... cranky.gif я GCC сильно зауважал sm.gif
Go to the top of the page
 
+Quote Post
Паша_З
сообщение Mar 30 2011, 14:18
Сообщение #17





Группа: Участник
Сообщений: 14
Регистрация: 3-03-11
Из: Рыбинск
Пользователь №: 63 374



Проверил ещё раз Watchdog: выключен (hfuse = 0xdf).

Код писал в AvrStudio при установленном WinAVR - 20100110 (c avr-gcc).
Прошиваю ATtiny48 через avrdude:

Запись программы:
Код
avrdude -p t48 -c stk200 -e -U flash:w:test.hex

Чтение фьюзов:
Код
avrdude -p t48 -c stk200 -U hfuse:r:"./ high.txt":h -U lfuse:r:"./ low.txt":h
(В результате выполнения этой команды в файле high.txt лежит число 0xdf)

Запись фьюзов (записать в lfuse 0xee - установить в 1 фьюз SKDIV8):
Код
avrdude -p t48 -c stk200 -U lfuse:w:0xee:m

Пробовал уже на 2-х Тинях - результат тот же.

Что не так!??

Прилагаю картинку с осциллографа (сигнал действительно такой - проверено на LED'ах с увеличенной задержкой): Прикрепленный файл  osc.bmp ( 146.3 килобайт ) Кол-во скачиваний: 24


Цитата
while(666)
{
_delay_ms(20);
PORTD ^= 0x0f;
}
А корректно ли считывать с пина PORTD (не PIND)? Ведь PORTD ^= 0x0f эквивалентно PORTD = PORTD ^ 0x0f.

Прилагаю HEX: Прикрепленный файл  test.rar ( 232 байт ) Кол-во скачиваний: 77


Сообщение отредактировал Паша_З - Mar 30 2011, 14:21
Go to the top of the page
 
+Quote Post
Паша_З
сообщение Mar 31 2011, 16:00
Сообщение #18





Группа: Участник
Сообщений: 14
Регистрация: 3-03-11
Из: Рыбинск
Пользователь №: 63 374



Обнаружил, что проблема заключается в периодической перезагрузке контроллера после однократного выполнения цикла.
Почему так происходит, пока не понял. Watchdog выключен фьюзами, плюс всё равно выключаю его программно - не помогает.
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 31 2011, 16:53
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Дело в питании. У Вас когда устанавливается 1 на выводах порта ничего не подкорачивает эти выводы или наоборот при нуле не подкорачивают питание? Ресет подтянут через 10к к питанию? Емкости на ресете и питании есть? Аналоговые питание и земля подключены? Чудес не бывает.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
nk@
сообщение Mar 31 2011, 17:33
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138



Цитата(smk @ Mar 31 2011, 19:53) *
Дело в питании. У Вас когда устанавливается 1 на выводах порта ничего не подкорачивает эти выводы или наоборот при нуле не подкорачивают питание? Ресет подтянут через 10к к питанию? Емкости на ресете и питании есть? Аналоговые питание и земля подключены? Чудес не бывает.

Поддерживаю. Проблема аппаратная. Я посмотрел ваш .hex дизассемблером - код на 100% без ошибок. Я также покрутил его на симуляторе, все работает. Так что собака точно не в компиляторе зарыта.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 1 2011, 04:53
Сообщение #21


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(nk@ @ Mar 29 2011, 08:53) *
Не могли бы Вы код предоставить в студию
Поиск рулит. Для затравки: www.avrfreaks.net


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
1100.1010.1011.1...
сообщение Apr 3 2011, 12:43
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 22-10-10
Пользователь №: 60 334



Такая же беда с таким же кодом на atttiny25,WinAVR - 20100110. моделирование в протеусе показывает задержку больше в 8 раз.тот же код на атмеге8 - нормально.

Цитата(1100.1010.1011.1010 @ Apr 3 2011, 16:32) *
Такая же беда с таким же кодом на atttiny25,WinAVR - 20100110. моделирование в протеусе показывает задержку больше в 8 раз.тот же код на атмеге8 - нормально.

ПАрдон,разобрался - CKDIV8 Fuse. нужно отключить прескаллер
Go to the top of the page
 
+Quote Post
777777
сообщение Apr 4 2011, 05:24
Сообщение #23


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(_Pasha @ Mar 25 2011, 13:26) *
cranky.gif мир сошел с ума мир сошел с ума

Это точно. Только не мир а Россия - только здесь любят CvAVR, пишут программы на паскале, архивируют RAR-ом и пользуются Оперой.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 11:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01432 секунд с 7
ELECTRONIX ©2004-2016