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

|
Добрый день всем. Есть проблемы с ATMEGA8515. Если кто сталкивался с подобным - поделитесь опытом. Проблема в следующем. При прогоне программы в симуляторе все прекрасно. Загружаю в контроллер и начинаю проверять. По началу все работает, но при некоторых условиях появляются сбои без видимой причины. Контроллер как бы сбрасывается, т.е. программа начинает выполнятся сначала, но после такого "сброса" ведет себя уже не адекватно. Такое впечатление, что нарушается стек, хотя в симуляторе этого не происходит. С этой проблемой сталкиваюсь уже второй раз (программы разные!) именно на ATMEGA8515. Заранее благодарен за любые советы.
|
|
|
|
|
 |
Ответов
|
Sep 1 2009, 15:47
|
Группа: Участник
Сообщений: 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
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|