Мелкие вопросы по МК и ПЛИС.
Учиться учиться и ещё раз учиться! как дедушка Ленин завещал и иногда добавлял: а что такое стек и для чего он нужен?
меньше слов - больше дела
- Реклама
Stepan
. Почитаю ещё литературу.
Я тоже так подумалУчиться учиться и ещё раз учиться! как дедушка Ленин завещал и иногда добавлял: а что такое стек и для чего он нужен?
Успех - императив!
Подсказка: если вы используете стэк (команды push, pop, call, rcall), то вам сначала нужно указать начало стэка (регистр SP(H,L)). Обычно с этого и начинается процедура инициализации.Roman Venom писал(а): Я тоже так подумал. Почитаю ещё литературу.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
со стеком разобрался... спасибо за подсказки. Просто после пика очень непривычно что надо всё это настраивать.
Теперь ещё один вопрос. Мортон об этом молчит. Во многих программах встречал таблички данных+косвенная адресация. Например коды символов для ЖКИ. Не подскажите где про это почитать?
Теперь ещё один вопрос. Мортон об этом молчит. Во многих программах встречал таблички данных+косвенная адресация. Например коды символов для ЖКИ. Не подскажите где про это почитать?
Успех - императив!
- Сообщения: 326
- Зарегистрирован: Сб сен 06, 2008 12:56:13
Вот полезная книга: Ю. Ревич "Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера". По заданному вопросу: глава 6 > команды пересылки данных.Roman Venom писал(а):Во многих программах встречал таблички данных+косвенная адресация. Например коды символов для ЖКИ. Не подскажите где про это почитать?
Коротко суть: размещаем таблицу директивой .db ассемблера, а читаем командой LPM
- Реклама
ValBag
Благодарю! Книга стоящая.Вот полезная книга: Ю. Ревич "Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера". По заданному вопросу: глава 6 > команды пересылки данных.
Коротко суть: размещаем таблицу директивой .db ассемблера, а читаем командой LPM
Успех - императив!
Хмм... чтото никак не пойму - как вылезти из подпрограммы обработки прерывания?
return; - не катит
Нужно вернуться туда откуда вызывалась.
Код: Выделить всё
void MyHighInt (void);
void MyLowInt (void);
#pragma interrupt MyHighInt
#pragma code high_vector=0x08
void high_vector (void)
{_asm goto MyHighInt _endasm}
#pragma interruptlow MyLowInt
#pragma code low_vector=0x18
void low_vector (void)
{_asm goto MyLowInt _endasm}
#pragma code
void MyHighInt (void)
{
PORTA = 0b00000000;
return;
}Не знаю как на СИ, а на АСМе есть "reti".Chettuser писал(а):return; - не катитНужно вернуться туда откуда вызывалась.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
(retfie - если быть точным
)
Спасибо. Это я знаю. Просто асм знаю, а вот решил перейти на Си и "спотыкаюсь на каждом шагу".
В Си вроде есть "IRET" - только здесь оно не катит.
Спасибо. Это я знаю. Просто асм знаю, а вот решил перейти на Си и "спотыкаюсь на каждом шагу".
В Си вроде есть "IRET" - только здесь оно не катит.
Та же фигня.Chettuser писал(а):Просто асм знаю, а вот решил перейти на Си и "спотыкаюсь на каждом шагу".
Смотрите примеры, там наверняка есть обработчики прерываний.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Остаётся это. Только там много лишнего - приходится фильтровать. Вот бы найти пример чётко под прерывания. Где всё нжное есть... 
- Сообщения: 326
- Зарегистрирован: Сб сен 06, 2008 12:56:13
MCC18, выйти из прерывания. Когда таймер срабатывает прерывание уходит в бесконечный цикл. Что то не хватает чтобы вернуться из него.
- Сообщения: 326
- Зарегистрирован: Сб сен 06, 2008 12:56:13
А сбросить флаг прерывания от таймера?Chettuser писал(а):MCC18, выйти из прерывания. Когда таймер срабатывает прерывание уходит в бесконечный цикл. Что то не хватает чтобы вернуться из него.
уважаемые коты, драсте
Такой вопрос: появилось возможность поработать с отладочной платой Spartan-3E FPGA Starter Kit Board, мож встречалось кому. Какое ПО и откуда для неё надо скачать. Скачал с сайта ксилинкса ISE Design Suite 11. 2 которая хрен знает скоко весит, зараза такая
, а эта буржуйская сволочь требует сначала текстовый файл для обновления перед установкой и шлёт по известному адресу
.
И ещё вопрос: в прошлом годе качал я у этих капеталюг то ж какую то ISE (в подробности не вдавался, ибо не надо было, скачал лишь ради "посмотреть"), так она всего несколько десятков метров весила, сейчас же на сайте у этих мерзавцев всё ПО весит огого... что такое произошло, чё они туда насували то?
И ещё вопрос: в прошлом годе качал я у этих капеталюг то ж какую то ISE (в подробности не вдавался, ибо не надо было, скачал лишь ради "посмотреть"), так она всего несколько десятков метров весила, сейчас же на сайте у этих мерзавцев всё ПО весит огого... что такое произошло, чё они туда насували то?
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Посмотрите тут, скорее всего Ваша плата их детище (хотя кто знает)
PS Копнув поглубже (туда где написано "море") можете надыбать несколько различных архивчиков.
PS Копнув поглубже (туда где написано "море") можете надыбать несколько различных архивчиков.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Извиняюсь ещё раз, но вот с очередным тупым вопросом. Никак не могу догнать, прошивка ПЛИС осуществляется с помощью ISE или для этого необходима отдельная программа. И посоветуйте, какую версию ISE лучше качать с сайта, что б она не слишком была забита всякими там наворотами но при этом, что б имела полный набор необходимых инструментов, ибо никогда раньше в глаза плисы не видел, а тут подвернулся случай, посему на чтение талмудов нет особо времени, да и чёт не совсем мне там всё ясно. Заранее спасибо.
Chettuser, разобрались с прерыванием? У СиЛаба вообще не надо ничего писать:Chettuser писал(а):MCC18, выйти из прерывания. Когда таймер срабатывает прерывание уходит в бесконечный цикл. Что то не хватает чтобы вернуться из него.
Код: Выделить всё
void INT0_ISR (void) interrupt 0
{
LED = !LED;
}[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]


