Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 14.03.2010, 21:31  
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,731
Сказал спасибо: 2,439
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

SBI PORTB или PINB ?
Забыл уже ассемблер.
Реклама:
baiderin вне форума  
Непрочитано 14.03.2010, 21:31  
_guardianangel
Почётный гражданин KAZUS.RU
 
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
_guardianangel на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

Посмотри невключен ли фус совместимости с At90S8535
_guardianangel вне форума  
Непрочитано 14.03.2010, 22:53  
poff
Прохожий
 
Регистрация: 21.06.2006
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poff на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

Быстрая реакция, спасибо.. Посмтрю.
Насчет "SBI PORTB или PINB" все таки SBI PORTB, еще раз спасибо..
poff вне форума  
Непрочитано 14.03.2010, 23:14  
poff
Прохожий
 
Регистрация: 21.06.2006
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poff на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

Только-что проверил. На фусе совместимости с At90S8535 стояла птичка, убрал птичку - эффект тот же. Попутно разбросал метки (те что с восьмерками) в другие части программы и выяснил, что программа останавливается в том месте, где есть переход из подпрограммы в другую подпрограмму. Например когда вызывается подпрограма формирования сигнала сброса для термометра, котора в свою очередь вызывает подпрограмму временной задержки.
Может что-то с указателем стека? Не оставляйте меня надолго с этой проблемой.
Может быть у когото есть какой нибудь проект для данного процика в асемблере. Кинте заголовочек и какую то часть програмули. Плиз..
Заранее благодарен
poff вне форума  
Непрочитано 15.03.2010, 06:02  
woroba
Гражданин KAZUS.RU
 
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
woroba на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

PORTB и portb это не одно и тоже.
__________________
Не ошибается лишь тот, кто ни чего не делает!
woroba вне форума  
Непрочитано 15.03.2010, 20:27  
sio_66
Частый гость
 
Регистрация: 02.12.2008
Сообщений: 32
Сказал спасибо: 23
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
sio_66 на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

poff: В чем компилишь проект? И есть ли предупреждения при компиляции?

По тексту программы:
1. Есть переходы на п/п обработки прерываний, а самих прерываний нет - не понятно, как компилятор пропускает такое (есть переход , например "rjmp INT0addr" а самой метки "INT0addr:" нет).
2. Не сохраняются регистры в подпрограммах - возможно где-то портятся регистры.
3. Инициализация стека выполнена правильно.
Пример п/п задержки с сохранением/восстановлением регистров
;***** Subr for delay on 41 mks
.equ L0 = 16
.equ L1 = 3
.equ L2 = 2
; Tdelay={16+L2*(3+L1*(3+L0*3))}*tmc
; for Fzq=8MHz tmc=0.125 mks
delay41mks:
push r20 ; 2
push r21 ; 2
push r22 ; 2
ldi r20, L2 ; 1
delay2: ldi r21, L1 ; 1 -------------------------------|
delay1: ldi r22, L0 ; 1 -----------------| |
delay: dec r22 ; 1 --| Lp1= | Lp2= |
brne delay ; 1/2 --| L0*(1+2) | =(L1+3)*L1= |
dec r21 ; 1 | = |
brne delay1 ; 1/2 -----------------| |
dec r20 ; 1 |
brne delay2 ; 1/2 -------------------------------|
pop r22 ; 2
pop r21 ; 2
pop r20 ; 2
ret ; 4
sio_66 вне форума  
Непрочитано 15.03.2010, 20:37  
sio_66
Частый гость
 
Регистрация: 02.12.2008
Сообщений: 32
Сказал спасибо: 23
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
sio_66 на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

poff: В догонку - ты забил в качестве адресов (меток) подпрограмм обработки прерываний адреса векторов (из "m8535def.inc") если какое-либо прерывание возникает (не разбирался, что разрешено) то программа переходит сама на себя, поскольку твоя запись таблицы векторов это :
INT0addr: rjmp INT0addr
по сути - бесконечный цикл.
sio_66 вне форума  
Непрочитано 15.03.2010, 20:49  
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,731
Сказал спасибо: 2,439
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

Точно. Программа заходит в любое прерывание и там и остается.
baiderin вне форума  
Непрочитано 15.03.2010, 21:19  
poff
Прохожий
 
Регистрация: 21.06.2006
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poff на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

то sio_66. К сожалению, в программировании я самоучка. Такую стилистику и правила написания программ я с успехом использовал для реализации нескольких непростых проектов на базе ATTiny2313. Данный проект потребовал большего числа входных портов, в связи с этим и был выбран процессор 8535. Используется компилятор tavrasm. Компилятор не ругается. Идею на счет невозврата из прерывания проверю, но сомневаюсь, поскольку для работы прерываний их нужно еще и разрешить. Для упрощения исследований моей проблемы прямо сейчас напишу упрощенную версию тестовой програмки для данного процика. Еще раз подчеркиваю "Таже програмуля переделанная под ATTINY2313 работает нормально". переделанная - значит просто исправлены названия портов. В любом случае спасибо за поддержку..
poff вне форума  
Непрочитано 15.03.2010, 21:45  
poff
Прохожий
 
Регистрация: 21.06.2006
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poff на пути к лучшему
По умолчанию Re: Программирование AVR, FUSE и все что с этим связано.

to sio_66. Как и предполагал, удаление ссылок на прерывния, кроме RESET, не дало результата. Буду искат дальше, напишу тестовую програмку...
poff вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45


Часовой пояс GMT +4, время: 02:16.


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