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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 18.11.2011, 23:16  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от roma9112 Посмотреть сообщение
Орфография к данному моменту - к черту, каналья! Так все свои...
К орфографии здесь цепляются, когда других аргументов нету, впрочем, как и везде.

Портачить можно, если есть желание, только бэкап нужно сделать. Чтоб потом не было мучительно больно.

С тяпницей!
Реклама:
AJScorp вне форума  
Непрочитано 18.11.2011, 23:17  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

СПС за поддержку
Днем пытался принтскрин своего"мастерства"прикрепить - не получилось, бо форум или наши админы выкручивались, - и ИХ С ПЯТНИЦЕЙ!!!

Последний раз редактировалось roma9112; 18.11.2011 в 23:19.
roma9112 вне форума  
Непрочитано 19.11.2011, 14:26  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от roma9112 Посмотреть сообщение
Только дошел к средству намылизации, попробовал открыть созданный проект в окне GCC понял, что тяжело быть дураком,когда посмотрел менюшки, но не рискнул портачить ....... думаю попробовать работающий проект и из него выделить функцию, чтобы 99 проц работало...
За все это время на простом асме давно бы написал , и "99 проц" работало бы , и без всяких там библиотек и танцев с бубном по переделке файлов среды программирования .

P.S. Для Вашего случая на асме , просто , безо всяких обьявлений , основную программу пишем в виде цикла ожидания в котором при выполнении соответственных Ваших условий должны выполняться действия А , В или С , например как у Вас , оформляете их как подпрограммы вызываемые через rcall xxx , или call xxx (для старщих моделей Мег) , где xxx -имена этих кусков прог делающих Ваши действия А , В , С , и помещаете их текст в конце общего текста основной проги за пределами ее цикла , и все . И никаких дополнительных манипуляций с библиотеками самой среды , хейдерами и прочим хозяйством , все по простому ясно и четко .
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 19.11.2011 в 14:56.
pinco вне форума  
Непрочитано 21.11.2011, 08:06  
DAVE_ELEKTRIK
Прописка
 
Аватар для DAVE_ELEKTRIK
 
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
DAVE_ELEKTRIK на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Народ есть вопрос, помогите разобраться! Программы пытаюсь писать на Ассемблере.
Рассматривал спецификацию этого контроллера и наткнулся на регистр GICR. Опять эти прерывания Меня интересуют два младших бита IVSEL (1-й бит) и IVCE (0-й бит). Я понял существуют четыре типа написания программы, например если прерывания в работе МК не предусматриваются, то на месте таблиц векторов прерывания может быть размещена часть основной программы. И там пошли рассматриваться четыре варианта! Я недопонимаю до конца зачем это надо, или например тогда в какой части программы их устанавливать,или использовать эти биты?
Заранее спасибо.

Пример программы который я привык писать
Цитата:
; ************************************************** **********************
.device ATmega8515 ; Используется МК ATmega8515
.nolist ; Отключенна генерация листинга
.include "m8515def.inc" ; Вложенные файлы не будут отображены в листинге

.list ; Включена генерация листинга
;************************************************* ************************
;************************************************* ************************
.def temp=r16
.def Rab2=r17 ;формирования рабочих интервалов задержки
.def Rab3=r18
.def Rab4=r19
.def Rab5=r20
.def counter1=r21
.def Period=r22 ;Регистр,определяющий период смены комбинаций
;при выполнении программы эффектов
.def CombinacionC=r24 ; для порт C
.def Universal=r25 ;Регистр для разных установок во время выполнения программы
.def NumberProgram=r26 ;Регистр,определяющий номер выполняемой программы
;эффекта
.def Priznak_sostoainia=r1 ;Регистр, определяющий в какой фазе в момент
;прерыв TIM0 находяться порты: 0 - вывод комбинации
;1- вывод ff


;================================================= =======================

.cseg ; Начало кодового сегмента

.org 0x0000
rjmp RESET ; Обработка сброса
.org 0x0001
rjmp EXT_INT0 ; внешнее прерывание IRQ0

.org 0x0002 ; rjmp EXT_INT1 ; внешнее прерывание IRQ1
reti
.org 0x0003 ; rjmp TIM1_CAPT ; Обработка захвата таймера/счетчика T1
reti
.org 0x0004 ; rjmp TIM1_COMPA ; Совпадение А таймера/счетчика T1
reti
.org 0x0005 ; rjmp TIM1_COMPB ; Совпадение В таймера/счетчика T1
reti
.org 0x0006 ; rjmp TIM1_OVF ; Обработка переполнения таймера/счетчика T1
reti
.org 0x0007
rjmp TIM0_OVF ; Обработка переполнения таймера/счетчика T0

.org 0x0008 ; rjmp SPI_STC ; Передача по SPI завершена
reti
.org 0x0009 ; rjmp USART_RXC ; USART RX прием завершен
reti
.org 0x000A ; rjmp USART_UDRE ; Регистр данных USART пуст
reti
.org 0x000B ; rjmp USART_TXC ; USART TX Передача завершена
reti
.org 0x000C ; rjmp ANA_COMP ; Обработка прерывания аналогового компаратора
reti
.org 0x000D ; rjmp EXT_INT2 ; Обработка внешнего прерывания IRQ2
reti
.org 0x000E ; rjmp TIM0_COMP ; Обработка совпадения таймера/счетчика T0
reti
.org 0x000f ; rjmp EE_RDY ; EEPROM готово
reti
.org 0x0010 ; rjmp SPM_RDY ; Store Program memory - готово
;=======================================


RESET:
;инициализация стека
ldi R16,high(RAMEND)
out SPH,temp
ldi R16,low(RAMEND)
out SPL,temp
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...

Последний раз редактировалось DAVE_ELEKTRIK; 21.11.2011 в 08:24.
DAVE_ELEKTRIK вне форума  
Непрочитано 21.11.2011, 10:13  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Если Вы не собираетесь использовать прерывания, то можете не обращать на IVSEL и IVCE внимание. Вместо таблицы векторов может располагаться любой кусок кода программы, но все прерывания должны быть отключены иначе при возникновении прерывания переход будет на команду, которая расположилась по адресу вектора прерывания.
Перемещение таблицы векторов было актуально, когда были однократно программируемые кристаллы. При необходимости можно было написать новую (или изменить старую) программу и дописать ее по новым адресам и изменить при этом размещение таблицы векторов.
Еще перемещение таблицы векторов может пригодиться, если собираетесь в одной программе по-разному реагировать на одно и то же прерывание.
alvadep вне форума  
Непрочитано 21.11.2011, 10:14  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Если IVSEL сброшен - прерывания находятся в области основной программы, если установлен - в области бутлодыря. Это нужно для того, чтобы бутлодырь мог переписывать ВСЮ память основной программы, включая области занятые прерываниями, и чтобы при этом в бутлодыре работали прерывания. То есть фактически ПЗУ делится на две совершенно независимые области - программа и бутлодырь, и каждый из них может работать полностью автономно. Если бутлодырь не нужен - просто никогда не устанавливайте IVSEL
niXto вне форума  
Непрочитано 21.11.2011, 10:34  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Если пишете на Асме обязательно учитывайте адреса векторов прерываний...
Блин проглядел, все уже есть

Последний раз редактировалось roma9112; 21.11.2011 в 10:40.
roma9112 вне форума  
Непрочитано 21.11.2011, 10:37  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от pinco Посмотреть сообщение
За все это время на простом асме давно бы написал , и "99 проц" работало бы , и без всяких там библиотек и танцев с бубном по переделке файлов среды программирования .
На Асме что-то у меня уже получилось, хочется на Си поработать...
roma9112 вне форума  
Непрочитано 21.11.2011, 10:48  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
Народ есть вопрос, помогите разобраться! Программы пытаюсь писать на Ассемблере.
Рассматривал спецификацию этого контроллера и наткнулся на регистр GICR. Опять эти прерывания Меня интересуют два младших бита IVSEL (1-й бит) и IVCE (0-й бит). Я понял существуют четыре типа написания программы, например если прерывания в работе МК не предусматриваются, то на месте таблиц векторов прерывания может быть размещена часть основной программы.
Может я не прав, но обычно область с адресами прерываний не особенно пользуют когда прерывания не нужны, наверное, что бы если МК попадет туда, то не ушел бы в неведомыю даль.
roma9112 вне форума  
Непрочитано 21.11.2011, 11:06  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,983
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

область прерываний заполнял всегда RETI или RJMP reset, RJMP vector применял только для используемых прерываний
jump вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите начинающему (PIC16F84A). Slava-martyn Микроконтроллеры, АЦП, память и т.д 11 09.09.2010 21:55
помогите начинающему по WinAVR umkamaks Микроконтроллеры, АЦП, память и т.д 4 05.05.2010 21:01
Помогите начинающему! kolira Микроконтроллеры, АЦП, память и т.д 6 30.01.2010 15:22
Помогите советом начинающему eler Делимся опытом 64 11.09.2008 17:28
Помогите начинающему!!!! sma-etu Микроконтроллеры, АЦП, память и т.д 2 13.12.2006 18:31


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


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