17.12.2021, 11:56
|
#11
|
Частый гость
Регистрация: 05.11.2004
Адрес: Одесса
Сообщений: 47
Сказал спасибо: 11
Сказали Спасибо 22 раз(а) в 16 сообщении(ях)
|
Re: PIC10F изменить OSCCAL
Скажу больше строчка "movwf OSCCAL" первая в программе))
Это как пинцет на столе, лежит невидимый...
|
|
|
|
17.12.2021, 12:59
|
#12
|
Прописка
Регистрация: 30.07.2006
Адрес: Фрязино, М.О.
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 20 сообщении(ях)
|
Re: PIC10F изменить OSCCAL
Сообщение от Kern
|
Оказывается константа, которую считывает PICkit2 перед загрузкой прошивки в МК, пишется в регистр OSCCAL. И это происходит в первых строках прошивки(программы). Но, если мы потом в программе тронули OSCCAL , то считай потёрли всю калибровочную константу. Записали в него байт 0000001, всё...
|
Вы пишите какую то ерунду.
Путаете Божий дар с яичницей.
Калибровочная константа не может быть затерта при исполнении кода.
Может быть изменено значение РЕГИСТРА OSCCAL, но регистр никакого отношения к константе расположенной ВО ФЛЕШЕ не имеет.
Во флеше записана даже не константа, а инструкция retlw XX имеющая код 0x34XX и в результате при переходе кода на эту инструкцию в аккумуляторе оказывается константа ХХ, а код возвращается в точку вызова этой инструкции.
Следующей инструкцией может быть загрузка значения из аккумулятора в регистр OSCCAL (movwf OSCCAL). Но можете и не загружать, тогда калибровки не будет. Константа будет, а калибровка нет.
Последний раз редактировалось my504; 17.12.2021 в 13:02.
|
|
|
|
17.12.2021, 13:52
|
#13
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,539
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
|
Re: PIC10F изменить OSCCAL
Сообщение от my504
|
инструкция retlw XX
|
В пик10 movlw.
|
|
|
|
17.12.2021, 14:09
|
#14
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 748
Сказал спасибо: 365
Сказали Спасибо 822 раз(а) в 386 сообщении(ях)
|
Re: PIC10F изменить OSCCAL
ИМХО если речь именно о PIC10xxx, то стОит присмотреться к PIC10(L)F322. 222-й по сравнению с ним - пустышка.
|
|
|
|
17.12.2021, 15:09
|
#15
|
Прописка
Регистрация: 30.07.2006
Адрес: Фрязино, М.О.
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 20 сообщении(ях)
|
Re: PIC10F изменить OSCCAL
Сообщение от realid
|
В пик10 movlw.
|
Это не важно. Суть от этого не меняется. Просто ресет у него на последней инструкции флеша.
|
|
|
|
17.12.2021, 17:28
|
#16
|
Частый гость
Регистрация: 05.11.2004
Адрес: Одесса
Сообщений: 47
Сказал спасибо: 11
Сказали Спасибо 22 раз(а) в 16 сообщении(ях)
|
Сообщение от my504
|
Калибровочная константа не может быть затерта при исполнении кода.
|
Константа, которая хранится в последней ячейке памяти программ, стирается программатором, и при его сбое - теряется (в виду PICkit2).
Константа, которая скопирована в регистр OSCCAL, стирается программно.
У меня случился второй вариант, просто я не увязывал их вместе, считал, что они живут раздельно)))
Сообщение от j-Roger
|
ИМХО если речь именно о PIC10xxx, то стОит присмотреться к PIC10(L)F322.
|
Делаю регистратор температуры, если есть интерес могу выложить на обсуждение.
Последний раз редактировалось mike-y-k; 17.12.2021 в 18:55.
Причина: 6.6
|
|
|
|
17.12.2021, 18:57
|
#17
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
|
Re: PIC10F изменить OSCCAL
Kern, любая разработка должна быть доступна всем.
Как будет номинально отлажена - создавайте тему…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
17.12.2021, 19:29
|
#18
|
Частый гость
Регистрация: 05.11.2004
Адрес: Одесса
Сообщений: 47
Сказал спасибо: 11
Сказали Спасибо 22 раз(а) в 16 сообщении(ях)
|
Re: PIC10F изменить OSCCAL
Тем более, что по разработке получена консультация)
|
|
|
|
17.12.2021, 20:40
|
#19
|
Прописка
Регистрация: 30.07.2006
Адрес: Фрязино, М.О.
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 20 сообщении(ях)
|
Сообщение от Kern
|
Константа, которая хранится в последней ячейке памяти программ, стирается программатором, и при его сбое - теряется (в виду PICkit2).
|
При наличии осциллографа ничего не стоит ее восстановить. А если абсолютное значение частоты непринципиально, то можно и не восстанавливать, а писать в OSCCAL среднее значение частоты или вообще ничего не писать и использовать дефолтное значение.
Учитывая, что температурная зависимость встроенного осциллятора НИКАКАЯ, гораздо продуктивнее использовать МК с внешним кварцем, если нужна какая-никакая стабильность и точность.
Сообщение от Kern
|
Константа, которая скопирована в регистр OSCCAL, стирается программно.
|
Пардон, она не стирается, а ВЫ САМИ пишите код, который в состоянии ее затереть иным значением. Не пишите этот код и ничего у вас не затрется.
Кстати, если вы так дрожите над этой константой, считайте ее программатором ДО ТОГО, как будете программировать МК и запишите на бумажке.
Последний раз редактировалось mike-y-k; 18.12.2021 в 00:54.
Причина: 6.6
|
|
|
|
17.12.2021, 21:54
|
#20
|
Частый гость
Регистрация: 05.11.2004
Адрес: Одесса
Сообщений: 47
Сказал спасибо: 11
Сказали Спасибо 22 раз(а) в 16 сообщении(ях)
|
Re: PIC10F изменить OSCCAL
my504, Вы меня троллите!
Вернитесь к первому моему сообщению и прочтите суть проблемы.
j-Roger мне помог разобраться во всем. А Вы его транслируете, зачем?
Вы написали, что константу невозможно стереть.
Я вам возразил - можно!
Теперь Вы навязываете мне то, что и в мыслях у меня небыло - дорожить значением константы.
---
У меня всё есть для ее восстановления, даже больше. До сего времени у меня небыло нужды интересоваться стабильностью и точностью установки частоты тактового генератора. Да и в настоящем проекте тоже не критично. Просто зацепился глаз на картинке анализатора вместо 5мс показал 5,6мс - это больше 11%. Всё, причина выяснена!
Последний раз редактировалось mike-y-k; 18.12.2021 в 00:57.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:19.
|
|