реклама на сайте
подробности

 
 
> Проблемы с Mega8515, сбросы без причины
max_cnc
сообщение Aug 29 2009, 13:53
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 29-08-09
Пользователь №: 52 087



Добрый день всем.
Есть проблемы с ATMEGA8515. Если кто сталкивался с подобным - поделитесь опытом.
Проблема в следующем. При прогоне программы в симуляторе все прекрасно. Загружаю в контроллер и начинаю проверять. По началу все работает, но при некоторых условиях появляются сбои без видимой причины. Контроллер как бы сбрасывается, т.е. программа начинает выполнятся сначала, но после такого "сброса" ведет себя уже не адекватно. Такое впечатление, что нарушается стек, хотя в симуляторе этого не происходит.
С этой проблемой сталкиваюсь уже второй раз (программы разные!) именно на ATMEGA8515.
Заранее благодарен за любые советы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
max_cnc
сообщение Sep 1 2009, 15:47
Сообщение #2





Группа: Участник
Сообщений: 11
Регистрация: 29-08-09
Пользователь №: 52 087



Проблема явно не в наводках, т.к. сбоит и на станке и на столе (станок в другом городе - при наладке кататься туда накладно, поэтому привды подач эмулирую так: микродвигатели + TDA2030 + датчики ВТМ-1, а автоматику - светодиодами).

Выкладываю код. Правда сам не представляю как в нем можно разобраться без подробного описания алгоритма и схемы. Для конкретизации, вот одно из подпзреваемых мест где проявляются сбои:
;==============ПОДПРОГРАММА КОНТРОЛЛЕРА ЭЛЕКТРОАВТОМАТИКИ====================
RUN_M: PUSH R16
PUSH R17

LDS R16,$80
CPI R16,2
BREQ END_RM1

LDS R16,$90
CPI R16,3
BRNE RM4
(1) LDS R17,$8C
SBRC R17,0
RJMP END_RM
SBRC R17,2
RJMP END_RM
SBRC R17,1
RJMP END_RM
LDI R17,0B10000000
STS $0FF8,R17
LDI R16,7
STS $A1,R16
RCALL DELAY
SBR R17,0B10000010
STS $0FF8,R17
STS $8C,R17

LDI R16,8
STS $A1,R16
RCALL DELAY
END_RM1: RJMP END_RM

RM4: CPI R16,4
BRNE RM5
LDS R17,$8C
SBRC R17,0
RJMP END_RM
SBRC R17,1
RJMP END_RM
SBRC R17,2
RJMP END_RM
LDI R17,0B10000000
STS $0FF8,R17
LDI R16,7
STS $A1,R16
RCALL DELAY
SBR R17,0B10000100
STS $0FF8,R17
STS $8C,R17

LDI R16,8
STS $A1,R16
RCALL DELAY
RJMP END_RM

RM5: CPI R16,5
BRNE END_RM

LDI R16,0B10000000
STS $0FF8,R16
LDI R16,8
STS $A1,R16
RCALL DELAY
LDI R16,0B10001000
STS $0FF8,R16
LDI R16,30
STS $A1,R16
RCALL DELAY
LDI R16,0B10000000
STS $0FF8,R16
STS $8C,R16

END_RM: POP R17
POP R16
RET

Так вот: ветки алгоритма, которые начинаются со строки (1) и с метки RM5:отрабатываются нормально, а ветка по метке RM4:, т.е. когда в $90 записано 4 - высывает сброс с дальнейшими глюками. $0FF8 - это внешний порт на К580ИР82 для связи с релейной частью станка.

Чего-то с первого раза не получилось. Вот код в CNC.txt.
Прикрепленные файлы
Прикрепленный файл  CNC.txt ( 69.1 килобайт ) Кол-во скачиваний: 78
 
Go to the top of the page
 
+Quote Post
777777
сообщение Sep 2 2009, 04:10
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(max_cnc @ Sep 1 2009, 19:47) *
Выкладываю код.

Не сочти за шутку, но может попробовать переписать программу на Си?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- max_cnc   Проблемы с Mega8515   Aug 29 2009, 13:53
- - prottoss   Цитата(max_cnc @ Aug 29 2009, 21:53) Добр...   Aug 29 2009, 13:56
- - max_cnc   Кажется снимал, но проверю еще раз. Благодарю за с...   Aug 29 2009, 14:04
- - Petka   Цитата(max_cnc @ Aug 29 2009, 17:53) По н...   Aug 29 2009, 14:15
- - adc   ЦитатаСнимите бит совместимости с AT90S8515 - ...   Aug 29 2009, 18:10
- - max_cnc   Проблема однозначно с кодом, по тому как сбой при ...   Aug 31 2009, 13:21
|- - Палыч   Цитата(max_cnc @ Aug 31 2009, 16:21) Или ...   Aug 31 2009, 14:09
|- - prottoss   Цитата(max_cnc @ Aug 31 2009, 21:21) По п...   Aug 31 2009, 15:39
|- - niXto   Цитата(max_cnc @ Aug 31 2009, 16:21) Коро...   Sep 1 2009, 10:40
|- - prottoss   Цитата(niXto @ Sep 1 2009, 18:40) Цитата(...   Sep 1 2009, 22:49
- - max_cnc   В таблице векторов все неиспользуемые прерывания з...   Aug 31 2009, 15:09
- - max_cnc   Тогда проблема не в фюзе 8515С. Благодарю за беспо...   Aug 31 2009, 15:50
|- - =GM=   Цитата(max_cnc @ Sep 1 2009, 14:47) ...ве...   Sep 2 2009, 14:12
|- - aesok   Проверте вначале свой код на наличие детских ошибо...   Sep 4 2009, 16:21
- - RA3WUM   Уважаемый автор топика. Не сочтите за грубость, н...   Sep 2 2009, 18:41
- - adc   Цитата(RA3WUM @ Sep 2 2009, 22:41) ЗЫ А к...   Sep 2 2009, 19:10
- - max_cnc   Ну так я же предупреждал на счет кода Сознаюсь, с...   Sep 4 2009, 14:06
- - max_cnc   Точно, упустил. (Хочеш спрятать положи на видное м...   Sep 7 2009, 14:55


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016