Jump to content

Recommended Posts

Ошибка компиляции при установленных битах конфигурации. Урок №3. (Включение 10-и устройств)

Если убрать конфигурацию, то компилируется, но в протеусе не работает. Программу устанавливал по Вашей ссылке к урокам. Возможно необходима какая-то дополнительная настройка программы? Подскажите где копать.

Заранее спасибо. 

 

P.S. Все уроки отрабатываю на микроконтроллере pic16f628a. Портов А и В пока хватает, все получается. Даже совместить пару-тройку проектов в один, за исключением, если необходимо изменить порт назначения как не цифровой.

Share this post


Link to post
Share on other sites
 
 

Спасибо, навели на мысль. После эксперементов заработало

'@ device pic12f675, CPD_OFF, PROTECT_OFF, MCLR_OFF, PWRT_ON, WDT_ON, INTRC_OSC_NOCLKOUT ;НЕ РАБОТАЕТ
'@ device intrc_osc_noclockout   ; НЕ Работает
'@intrc_osc_noclockout   ; Работает
@INTRC_OSC_NOCLKOUT     ;Работает
'@ INTRC_OSC_NOCLKOUT     ;Не работает

Share this post


Link to post
Share on other sites
 

В компилятора на каждый поддерживаемый микроконтроллер есть файл. В нём прописаны все возможные настройки мк. Возможно pic12f675 как то иначе писать надо. Хотя можно не писать вообще, ic-prog всё равно не распознаёт, и приходится тип мк выбирать вручную, а остальные рекомендую приписывать, что бы при прошивке не вспоминать, какие необходимо включить, а какие нет.

Share this post


Link to post
Share on other sites
 
 

ICProg всеравно не видит конфигурацию. Пришлось ковырять "INC" файл. Только тогда заработал. В смысле конфигурацию выставляю тут в файле.

 

 

;****************************************************************

;* 16F628A.INC *
;* *
;* By : Leonard Zerman, Jeff Schmoyer *
;* Notice : Copyright © 2003 microEngineering Labs, Inc. *
;* All Rights Reserved *
;* Date : 11/06/03 *
;* Version : 2.45 *
;* Notes : *
;****************************************************************
NOLIST
ifdef PM_USED
LIST
include 'M16F62xA.INC' ; PM header
device pic16F628A, xt_osc, wdt_on, mclr_on, lvp_off, protect_off
XALL
NOLIST
else
LIST
LIST p = 16F628A, r = dec, w = -302
INCLUDE "P16F628A.INC" ; MPASM Header
__config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
NOLIST
endif
LIST

Share this post


Link to post
Share on other sites
 

Наконец-то окончательно разобрался с конфигурацией. Просмотрев видео по установке 

обнаружил, что у тебя, Жень, стоит x86 система. А у меня x64 система. В общем решил переустановить все. Итог плачевный 850f8ed21bdft.jpg Решил установить на x86 системе, благо на работе доступ к компам не ограничен :) Итог - все отлично работает, видит все, что прописано в конфигурации, компилирует. Стал сравнивать с тем, что установлено и "работает" у меня на x64.

 

На x86

20dab3e41954t.jpg 036b0c427971t.jpg

На x64

964706f2cef1t.jpg 5c1669141bb6t.jpg

 

Получается у меня компилировал "MPASM".

 

PIC Basic для системы на x64 к сожалению не нашел. Но, во всяком случае разобрался, почему не работало.

 

P.S. К видео можно сделать пометку, что актуально для 32-х битной системы.

Share this post


Link to post
Share on other sites
 

При компиляции выдает сообщение (crossing page boundary -- ensure page bits are set). При этом хекс-файл создается и вроде работает. На это следует обращать внимание?

Share this post


Link to post
Share on other sites
 

Выдаёт ошибку при компиляции любой программы, или конкретно какой-то?

 

Конфигурировать мк можно записывая число в регистр config. Правда это менее наглядно.

Share this post


Link to post
Share on other sites
 

Ну я так понимаю, что это предупреждение. Выдает только при конкретной программе.

5a32efda9d1ft.jpg

Есть предположение, что превышено число строк или слов.... как-то так. Если убрать несколько подпрограмм, сообщения не выдаются.

Share this post


Link to post
Share on other sites
 

Нет, если памяти в мк не хватает, то компилятор так и пишет, и хекс не выдаёт. Где то косяк в программе. Пробуй поочерёдно комментировать строки.

В протеусе ошибки не выскакивают при работе?

Share this post


Link to post
Share on other sites
 

Ошибок нет. Прога работает в протеусе.

Единственное сообщение выдает  (Simulation is not running in real time due to excessive CPU load)

Share this post


Link to post
Share on other sites
 

Эта ошибка у меня тоже частенько вылазит. Не хватает ресурсов компа для симуляции в реальном времени.

Пробуй строки комментировать по одной и компилировать.

Share this post


Link to post
Share on other sites
 

Из тырнета цитаты:

 

"MPLAB предупреждает, что регистр в этой строке находится на другой странице..."

"Обращается к другому регистру или GOTO уйдет на другую страницу..."

 

 

Поперепроверил все GOTO GOSUB RETURN.... ничего лишнего не нашел.

Но нашел как отключить предупреждения.

Можно строкой в программе:

@ ERRORLEVEL -306

Можно в настройках PBP:

b63af7d6d0e3t.jpg

Share this post


Link to post
Share on other sites
 
 

Исходник брал из Урока №12 в нем ничего не менял. В итоге вот такая ошибка ac3f4d5687d3t.jpg

Система Виндов7 32бит. Пробовал убирать строку с конфигурацией, компиляция проходит но в протеусе ничего не работает((

Share this post


Link to post
Share on other sites
 

Компилятор где брал? Может версия не та, что я использовал. Я пробовал с PBP 2.5 и 2.6, работали оба.

Share this post


Link to post
Share on other sites
 
 
 

Ничего не помогло, такая же ошибка после компиляции(( 

Печаль. Хочу себе купить PIC16f628 в замен PIC16f84a для проверки и работы программатора. 

В 628 надо же конфигурацию создавать в ПИК базик про? 

Share this post


Link to post
Share on other sites
 

Да, нужное включить, ненужное выключить.

Можно конфигурацию непосредственно при программировании выставлять вместо стороки @ device.....

 

Винда точно 32bit? Я сжал компилятор, которым сам компилирую. В настройках программы путь точно на эту папку?

Share this post


Link to post
Share on other sites
 
 
 

Я разобрался. Ошибки конфигурации были в MCS, а в MCS Plus компилирует все на ура!! В чем отличия этих 2х программ?

Share this post


Link to post
Share on other sites
 

Очередная ошибка. Компилировалось все без каких-либо ошибок. Делал это не один десяток раз) В очередной раз появилась эта ошибка.83e51f17a0a7t.jpg

 

 

Компилятор лежит в C:\PBP 2,6 версия. Переустановка MCS Plus помогает решить проблему, но до первого закрытия программы. Когда открываешь MCS Plus опять выскакивает эта ошибка fatal : 301 out memory . Теперь так и работаю удаляю да устанавливаю прогу, перед каждым ее открытием. В чем может быть проблема? 

Share this post


Link to post
Share on other sites
 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
  • Create New...