Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 19.04.2007, 21:59   #1
pilgrim
Junior Member
 
Регистрация: 19.04.2007
Возраст: 35
Сообщений: 2
Вес репутации: 100/0
pilgrim will become famous soon enoughpilgrim will become famous soon enough
По умолчанию помогите новечку pic16f877

При прогонке в симуляторе MPLAB-SIM получаем:
CORE-E0001: Stack over flow error occurred from instruction at ...
При заливки в контроллер также получаем некорекктное выполнение программы.
Причем стоит мне в одном месте программы убрать NOP и все прекрасно работает ;(
С чем может быть связана такая ошибка и в какую сторону мне копать?
pilgrim вне форума   Ответить с цитированием
Старый 19.04.2007, 22:42   #2
phil
Member
 
Аватар для phil
 
Регистрация: 25.03.2007
Возраст: 44
Сообщений: 65
Вес репутации: 102/49
phil will become famous soon enoughphil will become famous soon enough
По умолчанию Re: помогите новечку pic16f877

Цитата:
Сообщение от pilgrim Посмотреть сообщение
При прогонке в симуляторе MPLAB-SIM получаем:
CORE-E0001: Stack over flow error occurred from instruction at ...
При заливки в контроллер также получаем некорекктное выполнение программы.
Причем стоит мне в одном месте программы убрать NOP и все прекрасно работает ;(
С чем может быть связана такая ошибка и в какую сторону мне копать?
1. Научись грамотно писать по-русски.
2. Научись читать хотя бы по английски.
3. Программу - в студию.
phil вне форума   Ответить с цитированием
Старый 19.04.2007, 22:45   #3
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,945
Вес репутации: 5817/175
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию всё просто

Цитата:
Сообщение от pilgrim Посмотреть сообщение
При прогонке в симуляторе MPLAB-SIM получаем:
CORE-E0001: Stack over flow error occurred from instruction at ...
При заливки в контроллер также получаем некорекктное выполнение программы.
Причем стоит мне в одном месте программы убрать NOP и все прекрасно работает ;(
С чем может быть связана такая ошибка и в какую сторону мне копать?

у вас есть функции табличного чтения (т.н. вычисляемые переходы). Они у вас сделаны не совсем корректно (сильно зависят от места расположения. а можно сделать, чтоб не зависели).
при добавлении кода таблицы сдвигаются, и вы в итоге, например, вместо нулевой страницы улетает на 4, а там просто "переваливаете" через конец программной памяти (а должны был вернуться из той же нулевой по retlw), программа начинает выполняться заново, стек переполняется со всеми вашими симптомами...
Greg вне форума   Ответить с цитированием
Старый 21.04.2007, 11:14   #4
michipic
Senior Member
 
Аватар для michipic
 
Регистрация: 26.02.2007
Адрес: Москва
Сообщений: 182
Вес репутации: 151/50
michipic has a spectacular aura aboutmichipic has a spectacular aura about
По умолчанию Re: всё просто

Цитата:
есть функции табличного чтения (т.н. вычисляемые переходы). Они у вас сделаны не совсем корректно (сильно зависят от места расположения. а можно сделать, чтоб не зависели).
Тоже налетал на этот камень. И каждый раз приходилось корректировать положение таблицы при переходе через границу страниц.
А как это сделать лучше? Подскажите, или киньте ссылку, плз...
__________________
ну и что?
michipic вне форума   Ответить с цитированием
Старый 21.04.2007, 11:33   #5
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,945
Вес репутации: 5817/175
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: всё просто

Цитата:
Сообщение от michipic Посмотреть сообщение
Тоже налетал на этот камень. И каждый раз приходилось корректировать положение таблицы при переходе через границу страниц.
А как это сделать лучше? Подскажите, или киньте ссылку, плз...
ссылки общеизвестны
http://www.piclist.com/techref/microchip/tables.htm

но с таким подходом на каждую таблицу получаются довольно большие накладные расходы. В итоге делаешь таблицы как обычно, но размещаешь их вблизи начАла страниц (у соотв. org-ов), и потом ещё остатки по всем щелям рассовываешь.

После одного-двух таких проектов с сотней сообщений (таблиц) решительно переходишь на язык Си.
Greg вне форума   Ответить с цитированием
Старый 21.04.2007, 18:32   #6
pilgrim
Junior Member
 
Регистрация: 19.04.2007
Возраст: 35
Сообщений: 2
Вес репутации: 100/0
pilgrim will become famous soon enoughpilgrim will become famous soon enough
По умолчанию Re: помогите новечку pic16f877

Спасибо за помощь, разобрался.
Очень понятно все расписано в документе an556.pdf, можно взять по ссылке : http://www.t-es-t.hu/elokep/pic/lista1.htm,
pilgrim вне форума   Ответить с цитированием
Старый 22.04.2007, 09:52   #7
michipic
Senior Member
 
Аватар для michipic
 
Регистрация: 26.02.2007
Адрес: Москва
Сообщений: 182
Вес репутации: 151/50
michipic has a spectacular aura aboutmichipic has a spectacular aura about
По умолчанию Re: всё просто

Цитата:
...размещаешь их вблизи начАла страниц (у соотв. org-ов), и потом ещё остатки по всем щелям рассовываешь....
Именно так я и делаю. Подумалось, может чего новое пропустил....
Спасибо за ответ.
__________________
ну и что?
michipic вне форума   Ответить с цитированием
Старый 22.04.2007, 11:39   #8
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,945
Вес репутации: 5817/175
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: всё просто

Цитата:
Сообщение от michipic Посмотреть сообщение
Именно так я и делаю. Подумалось, может чего новое пропустил....
да что там может быть нового?
тупая такая неблагодарная работа (команду или функцию вставил - и всё поехало), самое оно для компилятора, пусть разгребает...

единственное, поскольку у автора 877-й, можно данные читать именно как содержимое еепром. Более того, если данные семибитные (семибитный ascii какой) можно их дополнительно запаковывать по два байта в одно 14 битное слово.
Почему об этом так подробно? Подобную запаковку-распаковку великолепно умеет делать и компилятор Си (но можно по желанию этот режим отключить, т.е. например, если подходящих данных много - выгодней хранить запакованными, если нужна скорость - табличкой через retlw).

(насколько помню на пиках вы асмист)
Greg вне форума   Ответить с цитированием
Старый 22.04.2007, 13:16   #9
Евгений Новый
Senior Member
 
Регистрация: 15.04.2007
Возраст: 57
Сообщений: 297
Вес репутации: 167/51
Евгений Новый has a spectacular aura aboutЕвгений Новый has a spectacular aura about
По умолчанию Re: всё просто

Цитата:
Сообщение от Greg Посмотреть сообщение
После одного-двух таких проектов с сотней сообщений (таблиц) решительно переходишь на язык Си.
Воистину так! Уже асм вспоминаю, как кошмарный сон.
Евгений Новый вне форума   Ответить с цитированием
Старый 22.04.2007, 14:00   #10
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,945
Вес репутации: 5817/175
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию открою секрет

Цитата:
Сообщение от pilgrim Посмотреть сообщение
Спасибо за помощь, разобрался.
Очень понятно все расписано в документе an556.pdf, можно взять по ссылке : http://www.t-es-t.hu/elokep/pic/lista1.htm,
все эти application notes (все - это значит _все_, какие только были и какие ещё только будут) можно взять на http://www.microchip.com/stellent/id...GE&nodeId=2048
и там вообще по тому ( www.microchip.com ) сайту походите - много интересного...
Greg вне форума   Ответить с цитированием
Старый 22.04.2007, 20:23   #11
2AplusA
Senior Member
 
Аватар для 2AplusA
 
Регистрация: 26.02.2007
Адрес: Penza
Возраст: 38
Сообщений: 1,383
Вес репутации: 1267/73
2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of2AplusA has much to be proud of
По умолчанию Re: всё просто

Цитата:
Сообщение от Евгений Новый Посмотреть сообщение
Воистину так! Уже асм вспоминаю, как кошмарный сон.
Ну, не надо так категорично! Без асма тоже, иногда, приходиться туго!
2AplusA вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с АЦП PIC16F877 VAMur Продукция MICROCHIP 25 03.12.2008 12:01
Помогите не могу прошить PIC16F628 программатор WILLEPROM FARGYS Продукция MICROCHIP 13 02.07.2008 15:46
Помогите ламеру, пож) NoOne Продукция MICROCHIP 35 06.06.2008 12:36
Помогите студенту! SeregaKo Продукция MICROCHIP 9 06.06.2008 11:13
Помогите! Duke Продукция MICROCHIP 15 21.05.2008 12:16


Часовой пояс GMT +3, время: 04:09.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot