Найдено 7 результатов

ultexplorer
Чт янв 11, 2018 22:04:22
Форум: AVR
Тема: Расчет частоты таймера. Где-то ошибка в логике.
Ответы: 19
Просмотры: 3422

Re: Расчет частоты таймера. Где-то ошибка в логике.

[uquote="BOB51",url="/forum/viewtopic.php?p=3280146#p3280146"]Так 0,1ГЦ это ж не мигание, а непрерывное горение 10 секунд с паузой в 10 секунд...
:dont_know:[/uquote]
Да. Так легче на глаз проверить, как работает собранная схема.

Я поправил код, нашел ошибки, поменял brcc на brne, заменил neg на 0 ...
ultexplorer
Ср янв 10, 2018 15:05:43
Форум: AVR
Тема: Расчет частоты таймера. Где-то ошибка в логике.
Ответы: 19
Просмотры: 3422

Re: Расчет частоты таймера. Где-то ошибка в логике.

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3279401#p3279401"]
ultexplorer писал(а):Это 256 - 250 = 6
neg , это же не оператор препроцессора, а реальная команда, абсолютно избыточная.

Код: Выделить всё

ldi r16, 0-250
//neg r16 ;
out TCNT0, r16
[/uquote]
Точно!
Не все в книгах верно...
ultexplorer
Ср янв 10, 2018 14:50:57
Форум: AVR
Тема: Расчет частоты таймера. Где-то ошибка в логике.
Ответы: 19
Просмотры: 3422

Re: Расчет частоты таймера. Где-то ошибка в логике.

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3279368#p3279368"]Освойте режим CTC, как указал ak l, таймер будет считать от 0 до нужного значения и сам сбрасываться.[/uquote]
Спасибо. Займусь этим.
В своем коде нашел ошибку.
Забыл поставить метку на выход из подпрограммы, если переменная все еще ...
ultexplorer
Ср янв 10, 2018 14:22:39
Форум: AVR
Тема: Расчет частоты таймера. Где-то ошибка в логике.
Ответы: 19
Просмотры: 3422

Re: Расчет частоты таймера. Где-то ошибка в логике.

[uquote="Reflector",url="/forum/viewtopic.php?p=3278201#p3278201"][uquote="ultexplorer",url="/forum/viewtopic.php?p=3278196#p3278196"]Далее в регистр TCNT0 записываю 250 для круглого счета:
ldi r16, 250
neg r16 ;
out TCNT0, r16[/uquote]
Neg то тут что делает?[/uquote]
Это 256 - 250 = 6. С 6 ...
ultexplorer
Вт янв 09, 2018 01:29:51
Форум: AVR
Тема: Расчет частоты таймера. Где-то ошибка в логике.
Ответы: 19
Просмотры: 3422

Расчет частоты таймера. Где-то ошибка в логике.

Народ, написал программу с таймером для мигания светодиодом.
Он мигает, но не с той частотой…
Мигает где-то с частотой 3 – 4 Гц. А по моим расчетам должен мигать с частотой 0,1 Гц.
Я пользовался методикой, изложенной в книге Ревича (Практическое программирование микроконтроллеров AVR).
Вот как я ...
ultexplorer
Пн дек 25, 2017 23:12:39
Форум: AVR
Тема: Непонятный код subi r17,high(1)
Ответы: 6
Просмотры: 1840

Re: Непонятный код subi r17,high(1)

Спасибо. Вроде начинает доходить...
Т.е. единица рассматривается как двухбайтная. В старшем байте 0b0000 0000, а в младшем 0b0000 0001
Выражение subi Tmp1,low(1) уменьшает значение в Tmp1 на единицу.
А выражение sbci Tmp1, high(1) означает, что от Tmp1 ничего не отнимается?
ultexplorer
Пн дек 25, 2017 22:36:20
Форум: AVR
Тема: Непонятный код subi r17,high(1)
Ответы: 6
Просмотры: 1840

Непонятный код subi r17,high(1)

Здравствуйте!
Помогите разобраться в коде.
Что это означает:

subi Tmp1,Low(1)

А потом следует

sbci Tmp1,High(1)


Как у единицы может быть старшая и младшая тетрады?
Ведь low(metka) или high(metka) означает обращение к младшему и старшему байту метки metka.
А low(1) или high(1) мои мо́зги ...

Перейти к расширенному поиску