Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
19.11.2008, 14:08
|
|
Частый гость
Регистрация: 26.03.2008
Сообщений: 43
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
pic12f629 калибровочная константа???!!!
Опишу суть проблемы...
сваял некий преобразователь RS232...
предполагалось использовать pic12f629 soic с внутренним rc генератором.
под рукой были парочка pic12f675 dip. на них и макетировал.
Все задержки в программе реализованы с помощью пустых циклов.
все заработало... заказал платы.
платы пришли... для проверки подпаял pic12f675 все работает.
взял нашедшейся pic12f629 dip ... перекомпилировал, прошил - все работает...
прошил pic12f629 soic, впаял в плату - не работает
прошил еще пару - включил через переходник в панельку - какие-то работают, но большинство - нет...
на выходе выдают всякую ересь.
подгонкой циклов удается запустить... причем каждую в отдельности...
чую что с калибровкой проблемы...
вспоминаю, что в pic12c508 калибровочную константу нужно было импортировать... написал...
OSCCAL=W;
стало еще хуже. При каждом включении проц хватал в константу что придется (оно и понятно - в pic12f629 такое вроде не практикуется)
Раньше таких проблем что-то не припомню.
Может кто сталкивался... я сегодня полдня скакал вокруг них...
|
|
|
|
19.11.2008, 14:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
про калибровку генератора PIC посмотрите РУССКУЮ фирменную доку микрочипа - там есть в низу - http://avr123.nm.ru/09.htm
Раздел 2. Тактовый генератор PIC
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
19.11.2008, 15:01
|
|
Частый гость
Регистрация: 26.03.2008
Сообщений: 43
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Если я правильно понял, то нужно выполнить следующие команды:
#asm
CALL 3FFh ;для объема 1K
MOVWF OSCCAL
#endasm
Правильно?
Если так, завтра попробую...
|
|
|
|
19.11.2008, 20:32
|
|
Частый гость
Регистрация: 26.03.2008
Сообщений: 43
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Мнда...
написал...
.......................
void main(void)
{
#asm
BSF STATUS, RP0
CALL 0x3FF ;для объема 1K
MOVWF OSCCAL
BCF STATUS, RP0
#endasm
...........................
}
При вызове call вываливает синтаксическую ошибку
компилятор CC55X
Если этот кусок вставить в ассемблерный код, все компилится нормально...
Мож тут хитрое заклинание какое нужно?
|
|
|
|
19.11.2008, 23:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.01.2005
Адрес: Воронеж
Сообщений: 1,384
Сказал спасибо: 24
Сказали Спасибо 243 раз(а) в 182 сообщении(ях)
|
|
|
|
|
20.11.2008, 08:27
|
|
Частый гость
Регистрация: 26.03.2008
Сообщений: 43
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Здесь проблема с прошивкой.
У меня ее нет. Девайс работает, но идет разброс по тактовой частоте, а я не могу в своем С-компиляторе вытащить калибровочную константу.
Производителю уже отписал...
Появились кое-какие идеи, сегодня попробую поиграться с командой
ORG 0x3ff
Кстати мож кому сгодится: на программаторе PICProg на 629/725 процах если конфиг зашит в код, то при прошивке биты конфигурации не прошиваются. Спасает ручная установка (пощелкать в соответствующих окнах)
|
|
|
|
20.11.2008, 10:14
|
|
Временная регистрация
Регистрация: 06.12.2007
Сообщений: 91
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Если девайс работает, то, скорее всего, это call 3ff уже зашито в стартовом коде компилятора, а Вы его просто повторяете, чем и вызвана его ругань.
Как вариант - пишете программку, которая выдает временные интервалы на ножках пика, затем осциллографом смотрите разброс. Это если нет частотомера. Меняя последний байт, корректируете частоту.
Кстати, кто-то на форуме жаловался, что заводские установки неточные, частотомером и ручками получается точнее.
Или режим генератора выбрать тактовая на 4, написать бесконечный цикл и мерить этот мегагерц частотомером.
__________________
разум когда-нибудь победит... (с)
|
|
|
|
20.11.2008, 15:21
|
|
Частый гость
Регистрация: 26.03.2008
Сообщений: 43
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от user_ushastyj
|
Если девайс работает, то, скорее всего, это call 3ff уже зашито в стартовом коде компилятора, а Вы его просто повторяете, чем и вызвана его ругань.
|
Сегодня, так и не победив вызов калибровочной константы сделал тупо - считал константы из каждого проца, закатал их в EEPROM и при выполнении программы брал их оттуда.
ВСЕ процы заработали.
Поэтому смею утверждать, что проблема именно в компиляторе. Скорее всего он не поддерживает вызов подпрограмм по абсолютному адресу, поскольку выдает синтаксическую ошибку...
Склоняюсь к тому, что это можно победить, но не знаю как ((. Разработчик пока молчит.
Кстати, в редакторе picprog значение этого адреса и не высвечивается - пустое место.
|
|
|
|
20.11.2008, 15:48
|
|
Временная регистрация
Регистрация: 06.12.2007
Сообщений: 91
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от zms2003
|
Сегодня, так и не победив вызов калибровочной константы сделал тупо - считал константы из каждого проца, закатал их в EEPROM и при выполнении программы брал их оттуда.
ВСЕ процы заработали.
Поэтому смею утверждать, что проблема именно в компиляторе. Скорее всего он не поддерживает вызов подпрограмм по абсолютному адресу, поскольку выдает синтаксическую ошибку...
Склоняюсь к тому, что это можно победить, но не знаю как ((. Разработчик пока молчит.
Кстати, в редакторе picprog значение этого адреса и не высвечивается - пустое место.
|
Забавно
В топку компилятор. Для 12-16 пиков лучше hi-tesh не придумали (любители ССS могут оспорить). Микрочип в плане си компиляторов в принципе молчал для этих серий - возможно, из-за того, что уже был hi-tesh ( у меня на дисках где-то валяется даже версия под ДОС).
__________________
разум когда-нибудь победит... (с)
|
|
|
|
20.11.2008, 15:51
|
|
Частый гость
Регистрация: 26.03.2008
Сообщений: 43
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
[quote="user_ushastyj Забавно
В топку компилятор. Для 12-16 пиков лучше hi-tesh не придумали (любители ССS могут оспорить). Микрочип в плане си компиляторов в принципе молчал для этих серий - возможно, из-за того, что уже был hi-tesh ( у меня на дисках где-то валяется даже версия под ДОС).[/quote]
Ага... тем более компилятор куплен официально...
Просто уже куча проектов на нем писана, в том числе и с реализацией UART. Проблемы только сейчас возникли.
Наверное до этого мне просто везло)))
А где можно hi-tech глянуть?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Помогите с PIC12F629
|
sergxxx |
Микроконтроллеры, АЦП, память и т.д |
3 |
08.06.2008 02:15 |
константа в mplab
|
EVGENIY1962 |
Микроконтроллеры, АЦП, память и т.д |
12 |
03.05.2008 07:35 |
PIC12F629
|
otect |
Микроконтроллеры, АЦП, память и т.д |
6 |
27.01.2008 16:58 |
PIC12F629
|
otest |
Микроконтроллеры, АЦП, память и т.д |
2 |
19.10.2007 01:02 |
PIC12F629
|
RETAS |
Микроконтроллеры, АЦП, память и т.д |
1 |
08.07.2005 09:21 |
Часовой пояс GMT +4, время: 02:50.
|
|