Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 30 май 2025, 00:18

Часовой пояс: UTC + 3 часа [ Летнее время ]



Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
#000000 #000040 #000080 #0000BF #0000FF
#004000 #004040 #004080 #0040BF #0040FF
#008000 #008040 #008080 #0080BF #0080FF
#00BF00 #00BF40 #00BF80 #00BFBF #00BFFF
#00FF00 #00FF40 #00FF80 #00FFBF #00FFFF
#400000 #400040 #400080 #4000BF #4000FF
#404000 #404040 #404080 #4040BF #4040FF
#408000 #408040 #408080 #4080BF #4080FF
#40BF00 #40BF40 #40BF80 #40BFBF #40BFFF
#40FF00 #40FF40 #40FF80 #40FFBF #40FFFF
#800000 #800040 #800080 #8000BF #8000FF
#804000 #804040 #804080 #8040BF #8040FF
#808000 #808040 #808080 #8080BF #8080FF
#80BF00 #80BF40 #80BF80 #80BFBF #80BFFF
#80FF00 #80FF40 #80FF80 #80FFBF #80FFFF
#BF0000 #BF0040 #BF0080 #BF00BF #BF00FF
#BF4000 #BF4040 #BF4080 #BF40BF #BF40FF
#BF8000 #BF8040 #BF8080 #BF80BF #BF80FF
#BFBF00 #BFBF40 #BFBF80 #BFBFBF #BFBFFF
#BFFF00 #BFFF40 #BFFF80 #BFFFBF #BFFFFF
#FF0000 #FF0040 #FF0080 #FF00BF #FF00FF
#FF4000 #FF4040 #FF4080 #FF40BF #FF40FF
#FF8000 #FF8040 #FF8080 #FF80BF #FF80FF
#FFBF00 #FFBF40 #FFBF80 #FFBFBF #FFBFFF
#FFFF00 #FFFF40 #FFFF80 #FFFFBF #FFFFFF
Настройки:
BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Анти-спам
Анти-спам:
Выполните задание
   

Обзор темы - Очень интересный глюк с участием переполнения таймера.
Автор Сообщение
  Заголовок сообщения:  Re: Очень интересный глюк с участием переполнения таймера.  
Цитата
Потому что как раз r17 и участвует в процедуре сравнения… мышкой подведи к процедуре, и увидишь результат действий. ;) Но в других случаях участвует и r16 и регистр SREG, так что Евгений тебе дал совет почти от всех граблей такого рода. :-)
Сообщение Добавлено: 04 янв 2016, 00:54
  Заголовок сообщения:  Re: Очень интересный глюк с участием переполнения таймера.  
Цитата
Спасибо ребята. R16 и Sreg пробовал эффект был тот же, а вот про R17 не знал. Сейчас все ок.
Сообщение Добавлено: 04 янв 2016, 00:50
  Заголовок сообщения:  Re: Очень интересный глюк с участием переполнения таймера.  
Цитата
to Vovka001
Если сам не догадался - сохраняй регистры r16, r17 и SREG в стеке в начале обработки прерывания и восстанавливай их при выходе.
Сообщение Добавлено: 03 янв 2016, 23:03
  Заголовок сообщения:  Re: Очень интересный глюк с участием переполнения таймера.  
Цитата
Это не глюк МК, это программа так криво написана… ;) почитай первый пост , там есть ответ. 8-)
Сообщение Добавлено: 03 янв 2016, 22:15
  Заголовок сообщения:  Очень интересный глюк с участием переполнения таймера.  
Цитата
Использую прерывания по переполнению таймера. В обработки прерывания подсчитываю часы реального времени. Переменные часов это однобайтовые ячейки SRAM. Кроме переменной DS – она двух байтовая.
В основном цикле есть условие которое не должно никогда выполнятся - если R4 = 20 то перейти в подпрограмму Obr. При этом R4 всегда 0. Но, тем не менее, при обработки на кристалле я попадаю в подпрограмму Obr, при этом R4 = 0. И еще, я заметил, если переменную DS сделать однобайтовой то переход в Obr происходит реже.
В чем прикол? Причем данный алгоритм я проверял на разных кристаллах: ATMega88p, ATMega48, ATMega8, ATMega128. И везде одно и тоже…


Вложения:
2016-01-03 19-29-27 Скриншот экрана.png
2016-01-03 19-29-27 Скриншот экрана.png [ 44.68 КБ | Просмотров: 7535 ]
Сообщение Добавлено: 03 янв 2016, 20:44

Часовой пояс: UTC + 3 часа [ Летнее время ]


Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB