Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18682
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

SarCity писал(а):т.е. у тини861 в регистре TIMSK битом 1 является TOIE0, а у меги8 в этом регистре в бите1 ничего нет, прочерк (по даташиту). Такая же ситуация и с остальными двумя регистрами.
не понятно, с чего вы взяли, что в этих командах идет работа с 1-ым битом регистров? приведенная запись почти аппаратно-независима, поэтому не сомневайтесь: будет работать на обоих МК :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 260
Зарегистрирован: Ср фев 13, 2008 14:41:32
Откуда: Украина, Николаев

Сообщение Vergilium »

Подскажите пожалуста как фиксировать нажатие клавиши на С в WinAVR. Мне нужно в цикле сканировать не нажата ли какая либо клавиша и если нажата выполнять соответствующие действия. Подкинте какой либо примерчик.


ЗЫ. МК мега16
Немного нервов и девайс готов
Реклама
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

а как можно сделать, чтобы светодиод на любом канале порта мигал все время с определенной частотой? например, 1Гц? это нужно для показателя того, что программа выполняется. НУжны специальные выводы микроконтроллера, или на любой можно вывод светодоид повесить? :?
Не умеешь - не берись, но не взявшись не научишься...
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

в прерывании таймера считать кол-во прерываний, при совпадении числа с заранее установленным - менять значение вывода порта на противоположное.
Ставим плюсы: )
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

т.е. собсна можно на любой канал в порту? :)
Не умеешь - не берись, но не взявшись не научишься...
Реклама
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

На любой, не занятый под какие-нибудь специальные функции.
Реклама
Родился
Сообщения: 2
Зарегистрирован: Пн янв 19, 2009 17:43:49

Сообщение BAD1 »

Можно узнать, какие фьюзы лучше не менять, и на какие ноги лучше ничего не цеплять, чтобы не потерять возможность перепрограммирования? Мега8.

я думаю что нельзя менять SPIEN, RSTDISBL...

и соответствено не использовать ногу RESET и все.
прав ли я?)
Грызет канифоль
Аватара пользователя
Сообщения: 260
Зарегистрирован: Ср фев 13, 2008 14:41:32
Откуда: Украина, Николаев

Сообщение Vergilium »

Прошу извенения за глупый вопрос но сколько должен весить hex фаил для заполнения всей памяти ATmega16. Я думал 16кбайт но видел и до 28кбайт. Как опредилить сколько места осталось чтоб вместится? Может какоето определенное количество строк должно быть?
Немного нервов и девайс готов
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

вы сразу hex пишете??? по-любому в компиляторе есть "указатель запоненной памяти", там и смотрите сколько байт занимает код)))) по другому не могу сформулировать, голова не варит что то))))
Ставим плюсы: )
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

Vergilium писал(а):Прошу извенения за глупый вопрос но сколько должен весить hex фаил для заполнения всей памяти ATmega16. ... Как опредилить сколько места осталось чтоб вместится? Может какоето определенное количество строк должно быть?
В обшем случае размер hex файла не говорит о размере прошивки ничего, например возможны случаи когда hex весит 1 кБайт, но прошивка в контроллер не влезет. Дело в том, что этот формат предполагает указание начального адреса и смещения прошиваемой строки. (Т. е. можно указать что начинать прошивку надо с адреса близкого к концу флеш памяти). Если прошивка ведется с нулевого ардеса, то приблизительно прикинуть занимаемое место во флеш можно разделив размер хекса на 2-3. Точный способ - перевести hex в bin формат.
Самый правильный ответ - про указатель занимаемой памяти - в предыдущем посте.
Грызет канифоль
Аватара пользователя
Сообщения: 260
Зарегистрирован: Ср фев 13, 2008 14:41:32
Откуда: Украина, Николаев

Сообщение Vergilium »

Я так понимаю сдесь говорится что занято 3.182 кбайта т.е. 19,4%. А что за второе значение 60 байт?

AVR Memory Usage
----------------
Device: atmega16

Program: 3182 bytes (19.4% Full)
(.text + .data + .bootloader)

Data: 60 bytes (5.9% Full)
(.data + .bss + .noinit)

-------- end --------
Немного нервов и девайс готов
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

в микроконтроллере есть несколько видов памяти. FLASH,SRAM,EEPROM. так вот программный код записывается во FLASH. второе число, как я понимаю это SRAM (ОЗУ).
Ставим плюсы: )
Грызет канифоль
Аватара пользователя
Сообщения: 260
Зарегистрирован: Ср фев 13, 2008 14:41:32
Откуда: Украина, Николаев

Сообщение Vergilium »

Еще один вопросик. Как расчитать тайменги для вывода на светодиодную матрицу динамического изображения. Ну допустем у меня 6 матриц 8х8 светодиодов, получается 48 столбиков. Вот какая должна быть длительность свечения одного столбика чтобы изображение не мерцало и яркость была нормальная. Может какието рекомендации или методики есть.
Немного нервов и девайс готов
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

человеческий глаз не замечает мерцания частотой 25Гц (слышали, что такое 25ый кадр?). я бы посоветовал больше, порядка 50-60Гц, для верности.если такое широкое изображение, то желательно индикацию делать не по строчно, а через строку (т.е. сначала четные строки, потом нечетные), что тоже положительно влияет на реалистичность картинки.
Ставим плюсы: )
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

У меня есть переменная в 1 байт (8 бит) можно както менять значение конкретного бита??? например мне нужно что бы 4-ый бит стал единицей, а все остальные остались так как были до этого.
Я не Сашок!!!
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Сообщение МитяРа »

Логическое ИЛИ с маской..
Например для твоего случая маска 0001000..
Если надо ноль выставить, то логическое И и маску инвертировать..
..
Если битов несколько, то единичек и нулей в масках тоже будет несколько....
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

А ещё, в целях манипуляции отдельными битами и группами битов, можно воспользоваться битовыми полями, тогда становятся простыми разные арифметические операции, операции сравнения, использование группы битов в качестае счетчиков циклов и т.д.
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

Спасибо!!! Мне не нужно делать никаких арифметических операций, мне просто при определёных условиях нужно установить нужные биты в "1" и "отправить" их на сдвиговый регистр 74hc164 :)
Я не Сашок!!!
Контактная информация:
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

для этого есть команды SBI и CBI.
Не умеешь - не берись, но не взявшись не научишься...
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

sachok писал(а):Спасибо!!! Мне не нужно делать ...
Как ни странно, оба способа подходят и к такой постановке задачи. Выбирай сам. :)))
Stalker46 писал(а):для этого есть команды SBI и CBI.
Ему биты выставлять нужно - в переменной, а не на выходах порта; ты описание этих инструкций-то прочёл, перед тем, как советовать? Изображение
Ответить

Вернуться в «Разные вопросы по МК»