[uquote="BOB51",url="/forum/viewtopic.php?p=3280146#p3280146"]Так 0,1ГЦ это ж не мигание, а непрерывное горение 10 секунд с паузой в 10 секунд...
:dont_know:[/uquote]
Да. Так легче на глаз проверить, как работает собранная схема.
Я поправил код, нашел ошибки, поменял brcc на brne, заменил neg на 0 ...
Найдено 7 результатов
- Чт янв 11, 2018 22:04:22
- Форум: AVR
- Тема: Расчет частоты таймера. Где-то ошибка в логике.
- Ответы: 19
- Просмотры: 3422
- Ср янв 10, 2018 15:05:43
- Форум: AVR
- Тема: Расчет частоты таймера. Где-то ошибка в логике.
- Ответы: 19
- Просмотры: 3422
Re: Расчет частоты таймера. Где-то ошибка в логике.
[uquote="Z_h_e",url="/forum/viewtopic.php?p=3279401#p3279401"][/uquote]
Точно!
Не все в книгах верно...
neg , это же не оператор препроцессора, а реальная команда, абсолютно избыточная.ultexplorer писал(а):Это 256 - 250 = 6
Код: Выделить всё
ldi r16, 0-250
//neg r16 ;
out TCNT0, r16Точно!
Не все в книгах верно...
- Ср янв 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]
Спасибо. Займусь этим.
В своем коде нашел ошибку.
Забыл поставить метку на выход из подпрограммы, если переменная все еще ...
Спасибо. Займусь этим.
В своем коде нашел ошибку.
Забыл поставить метку на выход из подпрограммы, если переменная все еще ...
- Ср янв 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 ...
ldi r16, 250
neg r16 ;
out TCNT0, r16[/uquote]
Neg то тут что делает?[/uquote]
Это 256 - 250 = 6. С 6 ...
- Вт янв 09, 2018 01:29:51
- Форум: AVR
- Тема: Расчет частоты таймера. Где-то ошибка в логике.
- Ответы: 19
- Просмотры: 3422
Расчет частоты таймера. Где-то ошибка в логике.
Народ, написал программу с таймером для мигания светодиодом.
Он мигает, но не с той частотой…
Мигает где-то с частотой 3 – 4 Гц. А по моим расчетам должен мигать с частотой 0,1 Гц.
Я пользовался методикой, изложенной в книге Ревича (Практическое программирование микроконтроллеров AVR).
Вот как я ...
Он мигает, но не с той частотой…
Мигает где-то с частотой 3 – 4 Гц. А по моим расчетам должен мигать с частотой 0,1 Гц.
Я пользовался методикой, изложенной в книге Ревича (Практическое программирование микроконтроллеров AVR).
Вот как я ...
- Пн дек 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 ничего не отнимается?
Т.е. единица рассматривается как двухбайтная. В старшем байте 0b0000 0000, а в младшем 0b0000 0001
Выражение subi Tmp1,low(1) уменьшает значение в Tmp1 на единицу.
А выражение sbci Tmp1, high(1) означает, что от Tmp1 ничего не отнимается?
- Пн дек 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) мои мо́зги ...
Помогите разобраться в коде.
Что это означает:
subi Tmp1,Low(1)
А потом следует
sbci Tmp1,High(1)
Как у единицы может быть старшая и младшая тетрады?
Ведь low(metka) или high(metka) означает обращение к младшему и старшему байту метки metka.
А low(1) или high(1) мои мо́зги ...