
Dolphin
13.08.2017
00:19:15

Alex
13.08.2017
00:19:27
?

Dolphin
13.08.2017
00:19:36
функцию задержки покажи
а сори вижу код

Google

Alex
13.08.2017
00:20:17
:)

Dolphin
13.08.2017
00:24:33
зырю

Alex
13.08.2017
00:25:57
ага

Dolphin
13.08.2017
00:28:13
не на 60 проверять а на 59

Alex
13.08.2017
00:29:17
тогда погрешность будет не 13 секунд, а 12 :)

Dolphin
13.08.2017
00:30:53
Я имею ввиду подгони задержку так, чтобы на требуемом диапазоне периодов была минимальная относительная погрешность
смысл в том, что Злой тебе правильно сказал, на внутреннем РЦ ты не добьешься стабилизации

Google

Alex
13.08.2017
00:33:18
Я использую осцилятор ватчдога, вот такой график подогнали
вот и причина

Dolphin
13.08.2017
00:35:09
а еще, почему у тебя накапливается погрешность
потому что ты не учитываешь количество циклов на операцию
хотя предделитель большой, роли это много не играет согласен
outi TIMSK0, (1«TOIE0); разрешаем прерывания от переполнения
outi TCNT0, 256-125
1 секунда = 128, а у тебя 131

Alex
13.08.2017
00:41:24
почему 128?
128кГц/1024 = 125 тиков в секунду

Dolphin
13.08.2017
00:42:23
а бля переполнение же

Alex
13.08.2017
00:43:44
надо переписать на совпадение)

Dolphin
13.08.2017
00:44:10
а ты не задаешь переполнение
а ок, при нолях он до топа считает
подбери экспериментально, а потом период увеличивай
и чем ниже предделитель, тем точнее можно считать

Alex
13.08.2017
00:48:42
предделитель таймера?

Google

Dolphin
13.08.2017
00:48:44

Alex
13.08.2017
01:09:57

Dolphin
13.08.2017
01:10:31
ну понял, сомнительное удовольствие
пиши на си, а экстремальные функции делай на асме
либо внешними либами, либо инлайном
эффект тот же, а удобство выше в 100500

Alex
13.08.2017
01:11:33
да не, мне одинаково

Dolphin
13.08.2017
01:12:00

Alex
13.08.2017
01:12:17
я так-то на си пишу, но тут захотелось прям асм осилить)
гораздо неудобнее с 8-битным таймером жить)

Dolphin
13.08.2017
01:14:04

Alex
13.08.2017
01:15:05
ну вот сейчас я подключу нормальный генератор на 4.8МГц, и предделитель включу на 1024, получу 4687,5Гц на тик таймера)
был бы 10-битный можно было бы считать секундами, а тут придется держать отдельный регистр

Dolphin
13.08.2017
01:15:56
add r21, 1
adc r22, 0
adc r23, 0
adc r24, 0
32 бита )

Alex
13.08.2017
01:17:44
я пока не совсем понял что делает ADC :(

Dolphin
13.08.2017
01:18:02
перенос прибавляет
при переполнении р21, будет перенос, который прибавится к р22

Alex
13.08.2017
01:18:25
вот про перенос и не ясно)

Google

Dolphin
13.08.2017
01:18:54
перенос это флаг (1 бит)
смысл adc такой
если флаг переноса установлен, прибавить к регистру 1

Alex
13.08.2017
01:19:54
но adc принимает 2 регистра же?

Dolphin
13.08.2017
01:20:06
типа adc r20, 6
r20 = r20 + 6 + перенос
вот так

Alex
13.08.2017
01:20:30
типа adc r20, r21
нельзя adc r20, 0

Dolphin
13.08.2017
01:20:56
ок
r1 юзай
он всегда 0

Admin
ERROR: S client not available

Alex
13.08.2017
01:22:32
ок, выделю 2 регистра, добьюсь 16 бит, но как их потом сравнить?)

Dolphin
13.08.2017
01:22:59
cp
cpc
cpc
cpc
:)

Alex
13.08.2017
01:23:38
а несколько cp соединяются с помощью and?

Dolphin
13.08.2017
01:24:22
не, cpc после cp - как бы продолжает сравнение
если при cp есть флаг переноса, то он сыграет роль в сравнении cpc

Alex
13.08.2017
01:26:59
https://code.re/aqj
типа этого?

Google

Dolphin
13.08.2017
01:27:43
типа этого?
не, это не cpi, тоже нельзя с константой сравнивать. Только регистры

Alex
13.08.2017
01:27:57
ну я условно
обновил
https://code.re/aqj

Dolphin
13.08.2017
01:29:10
да, но cpc r17, r21 тогда
типа ты r16:r17 сравниваешь с r20:r21

Alex
13.08.2017
01:29:50
не понял

Dolphin
13.08.2017
01:30:03
16 бит
r16 - старший байт, r17 - младший
сравниваешь с:
r20 - старший : r21 - младший

Alex
13.08.2017
01:30:51
каажется, догоняю

Dolphin
13.08.2017
01:30:59
?
:)
в отладчике на константах погоняй и смотри на флаги!
дойдет быстро

sifun
13.08.2017
01:32:07
вочдог очень плохую точность имеет
в отличие от основного рц
он под малое потребление оптимизирован

Alex
13.08.2017
01:33:28

Dolphin
13.08.2017
01:34:21
четные регистры - всегда старший байт
не будешь путаться