Ср май 31, 2017 07:08:41
я бы приблизительный таймер на 3 часа делал вообще без прерываний и задержек - на WDT. тупо по сбросу ячейку памяти инкрементировал бы и все - строго линейный алгоритм, без прерываний а между сбросами наглухо усыплял бы МК.Ivanoff-iv писал(а):тем более прерывание использовать не сложно
Ср май 31, 2017 09:05:05
ldi r18, 2
ldi r19, 142
L1:
dec r19
brne L1
dec r18
brne L1
nop
Ср май 31, 2017 09:28:31
Вы забыли, что после первого обнуления r19 в нем будет 0 и его маленький цикл уже не 142 раза прокрутится, а 256.Coldheart писал(а):Подскажите, сколько циклов в данном коде?
Чт июн 01, 2017 12:16:44
Вт июн 13, 2017 00:23:42
Вт июн 13, 2017 07:45:04
Вт июн 13, 2017 13:29:17
Dim Y As String * 2
X = 2489
Y = Hex(High(X)) ' -> 09
Y = Hex(Low(X)) ' -> b9
Вт июн 13, 2017 13:42:58
Вт июн 13, 2017 15:19:57
Вт июн 13, 2017 16:06:09
Вт июн 13, 2017 19:42:41
Ср июн 14, 2017 07:37:54
Dim A As word
LOADADR a, X
!Ld R16, X+
!Ld R17, X+
Ср июн 14, 2017 09:01:21
Вс июн 25, 2017 16:38:50
Ср июл 05, 2017 12:40:50
Prertim: ' прерывание таймера Timer0
Stop Timer0 ' останавливаем Таймер0
$asm
<какие-то действия>
$end asm
timer0 = Timer0pre ' начальная точка старта таймера
Start Timer0 ' запускаем Таймер0
Return
Prertim: ' прерывание таймера Timer0
$asm
LDI R16 , 0b00000000
OUT TCCR0 , R16 ' останавливаем Таймер0
<какие-то действия>
LDS R16 , {Timer0pre}
OUT TCNT0 , R16 ' вернем начальную точку старта таймера
LDI R16 , 0B00000101
OUT TCCR0 , R16 ' запускаем Таймер0
$end asm
Return
LDI R16 , 0b00000101 ' 377-ая ошибка
LDI R16 , $5 ' молчание
Ср июл 05, 2017 17:54:52
На ДШ старайтесь налегать.Lavad писал(а):Литература только запутала
Ср июл 05, 2017 19:52:45
Prertim: ' прерывание таймера Timer0
$asm
LDI R16 , $00
OUT TCCR0 , R16 ' останавливаем Таймер0
<какие-то действия>
LDI R16 , $3d
OUT TCNT0 , R16 ' вернем начальную точку старта таймера
LDI R16 , $5
OUT TCCR0 , R16 ' запускаем Таймер0
$end asm
Return
Start Timer0
Чт июл 06, 2017 07:33:24
Чт июл 06, 2017 08:22:45
преобразование bin 2 bcd
Чт июл 06, 2017 15:54:51