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

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

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

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

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

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

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

 
Опции темы

Вложенные прерывания HITECH PIC16

Непрочитано 03.03.2010, 23:21  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Вложенные прерывания HITECH PIC16

Сообщение от picavr Посмотреть сообщение
более чем за 10 лет ассемблера я уже разобрался что правильно )))
Не обижайтесь, у Вас болезненная ломка перехода с АСМа на СИ.
Реклама:
st_1 вне форума  
Непрочитано 03.03.2010, 23:22  
picavr
Почётный гражданин KAZUS.RUN
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Вложенные прерывания HITECH PIC16

Сообщение от realid Посмотреть сообщение
С чего вы взяли это? Ваш код на си и мой делают одно и тоже.
Может быть мне так показалось...у вас не разрешались общие прерывания в обработчике TMR1. Напишу и ВАШ код и проверю в отладчике.. обработается ли TMR0 во время когда обрабатывается TMR1.

PS. Не обижайтесь, но эта запись if((INTCON & 0x04)›0) меня улыбнула. Это тоже самое, что if(TMR0IF).[/QUOTE]
Да я не обижаюсь, с чего вы взяли)))
просто я ещё не совсем привык к СИ.
Я пока пишу на ассемблере но уже "БУКВАМИ и СЛОВАМИ" СИ
picavr вне форума  
Непрочитано 03.03.2010, 23:26  
picavr
Почётный гражданин KAZUS.RUN
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Вложенные прерывания HITECH PIC16

Сообщение от st_1 Посмотреть сообщение
Не обижайтесь, у Вас болезненная ломка перехода с АСМа на СИ.
Просто вы не в тему отвечаете))) начинаете учить жизни с СУПЕРЛУПОМ.
Привык писать многопотоковые программы.
picavr вне форума  
Непрочитано 03.03.2010, 23:29  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Вложенные прерывания HITECH PIC16

Я вам написал просто пример.
Ничего эта ломка пройдет. Я тоже прошел через это после писания на асме По началу было жгучее желание в некоторых местах вставлять куски асма
realid вне форума  
Непрочитано 03.03.2010, 23:38  
picavr
Почётный гражданин KAZUS.RUN
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Вложенные прерывания HITECH PIC16

Сообщение от realid Посмотреть сообщение
По началу было жгучее желание в некоторых местах вставлять куски асма
Желания нет, если бы было я бы просто написал АСМ... В том что я уже написал, уже убедился что в большинстве случаев можно найти форму записи, что бы добится желаемого результата... Пока это были простенькие програмки...

А теперь есть желание разобратся как делать на СИ для PIC16 вложеные прерывания... с IAR AVR это намного проще...
picavr вне форума  
Непрочитано 07.03.2010, 14:59  
picavr
Почётный гражданин KAZUS.RUN
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Вложенные прерывания HITECH PIC16

Благодаря товарищу TESTER (Вик Тимофеев) (спасибо ему, дал пинок у нужном направлении )
Я разобрался с подключением .асм в проект и
написанием кода для сохранения контента в прерываниях (и вызов функций СИ для обработки самого прерывания). Осталось обьявить 1 переменную по одному адресу во всех банках RAM для сохранения W.
например 0x20, 0xA0. 0x120 0x1A0.
Сам адрес непринципиален, важно что бы был одинковым на всех банках RAM.
Если пишу так:
Код:
unsigned char W_TEMP;
unsigned char bank1 W_TEMP_B1;
unsigned char bank2 W_TEMP_B2;
unsigned char CUNTER;
unsigned char bank1 Cunter1.
unsigned char bank2 Cunter2.
То всё нормально, компилятор пишет что использовано 6 байт RAM. НО! адреса он распределяет сам. Естественно не так как нужно.

Если пишу так:
Код:
unsigned char W_TEMP  @ 0x20;
unsigned char W_TEMP_B1  @ 0xA0;
unsigned char W_TEMP_B2  @ 0x120;
unsigned char CUNTER;
unsigned char bank1 Cunter1.
unsigned char bank2 Cunter2.
И компилятор указывает что использовано RAM 3 байт хотя переменных обьявлено на 6 байт.
И почему то CUNTER так же имеет адрес 0x20(как и W_TEMP), Cunter1 имеет 0xA0(как и W_TEMP_B1) а Cunter2 имеет 0x120(как и W_TEMP_B2).
Пробовал volatile.
Код:
//код Си
volatile unsigned char W_TEMP  @ 0x20;
volatile unsigned char W_TEMP_B1  @ 0xA0;
volatile unsigned char W_TEMP_B2  @ 0x120;
unsigned char CUNTER;
unsigned char bank1 Cunter1.
unsigned char bank2 Cunter2.
Все переменные обьявленые с указанием адреса (@ 0xXX) компилятор как бы не считает в RAM и на их место обьявляет обычные переменные. Хотя он их видит и в файле асм происходит обращение к этим переменным.
Вопрос. КАК указать компилятору адрес размещения переменной?

Последний раз редактировалось picavr; 07.03.2010 в 16:30.
picavr вне форума  
Непрочитано 07.03.2010, 16:29  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Вложенные прерывания HITECH PIC16

У Вас STD или PRO версия? Под STD всё размещается.
st_1 вне форума  
Непрочитано 07.03.2010, 17:39  
picavr
Почётный гражданин KAZUS.RUN
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Вложенные прерывания HITECH PIC16

Сообщение от st_1 Посмотреть сообщение
У Вас STD или PRO версия? Под STD всё размещается.
HITECH PICC16 STD 9.60PL3.
Прилагаю скрин где всё видно. Компилятор и все переменные. И проект.

Сбросьте свой. Где я туплю?
Миниатюры:
Нажмите на изображение для увеличения
Название: скрин.jpg
Просмотров: 55
Размер:	412.5 Кб
ID:	5445  
Вложения:
Тип файла: rar inlaid_interupts.RAR (8.1 Кб, 35 просмотров)
picavr вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вход в прерывания для PIC микроконтроллеров dimmich Микроконтроллеры, АЦП, память и т.д 4 06.12.2009 17:17
прерывания usart в avr studio 4.13 zubr_ Микроконтроллеры, АЦП, память и т.д 6 14.10.2009 18:33


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.