Страница 302 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 19, 2012 13:12:37
smihan99
хочу заниматься МК, но нет ни программматора, ни МК. вопрос: какой лучше брать МК и для него какой собрать программатор

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 19, 2012 13:19:23
Jack_A
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 19, 2012 13:58:25
Chiaki74
Здраствуйте, вопрос по микроконтроллеру ATmega164P-20PU:
из дата шита "Прерывание и возобновление работы по изменению состояния на выводе"
Как поведет себя устройство если изменится состояние сразу на нескольких ножках?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 19, 2012 14:03:29
Gudd-Head
Chiaki74 писал(а):Как поведет себя устройство если изменится состояние сразу на нескольких ножках?
Есть соотв. ножки для прерываний. При изменении состояния (если прерывания на этих ногах разрешены) МК пойдёт обрабатывать сначала то прерывание (если они произойдут одновременно), у которого выше приоритет. Затем следующее.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 19, 2012 14:04:24
Engineer_Keen
Странный вопрос. Как запрограммируете, так и поведет... Если имеете ввиду ножки PCINT, то там на каждый порт свой вектор прерывания, если уровень изменится одновременно на разных ножках разных портов, программа сначала перейдет на тот вектор, у которого адрес меньше (так если я не ошибаюсь у них приоритеты расставлены).
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 19, 2012 14:09:29
Chiaki74
Gudd-Head писал(а):Есть соотв. ножки для прерываний. При изменении состояния (если прерывания на этих ногах разрешены) МК пойдёт обрабатывать сначала то прерывание (если они произойдут одновременно), у которого выше приоритет. Затем следующее.
просто как я понял, у этого микроконтроллера все линии ввода/вывода c поддержкой прерывания)хотите сказать для каждого из них можно написать отдельную подпрограмму и установить приоритет?))
Engineer_Keen писал(а):Странный вопрос. Как запрограммируете, так и поведет...
спасибо, то что нужно)
Оверпостинг и оверквотинг на первый раз поправил. В дальнейшем пользуйтесь кнопкой "Правка"
Gudd-Head
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 19, 2012 14:14:53
Engineer_Keen
На конкретную ножку вектора есть только для INT0,INT1,INT2. Прерывания PCINT-PCINT срабатывают при изменении состояния любой из ног в пределах одного порта (при условии что эти ноги заданы в соответствующих регистрах PCMSK). Если вы хотите иметь разные подпрограммы для каждой ножки, то уже в самом обработчике прерывания нужно определять какая нога порта изменилась и в соответствии с этой информацией переходить к конкретной подпрограмме.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 19, 2012 14:22:18
Chiaki74
Engineer_Keen писал(а):На конкретную ножку вектора есть только для INT0,INT1,INT2. Прерывания PCINT-PCINT срабатывают при изменении состояния любой из ног в пределах одного порта (при условии что эти ноги заданы в соответствующих регистрах PCMSK). Если вы хотите иметь разные подпрограммы для каждой ножки, то уже в самом обработчике прерывания нужно определять какая нога порта изменилась и в соответствии с этой информацией переходить к конкретной подпрограмме.
спасибо за разъяснения,очень помогли.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт мар 20, 2012 12:49:09
Acinonyx
приобрел на сантеке (
http://www.suntekstore.co.uk/product-14 ... apter.html ) USBasp программатор.
по началу не было никаких проблем, всякие атмеги 8/16/32 шьет на ура.
недавно понадобилось разработать девайс на 13 тиньке. сделал простой переходник с ISP разъема на SO-8, и получил жуткую головную боль.
проблема №1 - единственная программа которая увидела тиньку это eXtreme Burner AVR, другие (аврдуд, хазам) не видели ее вообще (важное замечание - тот же аврдуд и хазам прекрасно шили и читали атмеги 8/16/32). причем пробовал разные тиньки, и 13v, которая валялась у меня в загажнике, и новую 13а.
проблема №2 - экстримбёрнер считывает тиньку, считывает фузы и калибровочные байты. но записывает как-то странно, пишет 32 байта FFы затем 32 байта прошивки, опять 32 байта FFы, опять 32 байта прошивки, и так далее.
не знаю в какую сторону копать, может кто подскажет?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт мар 20, 2012 18:59:47
Chettuser
smihan99 писал(а):хочу заниматься МК, но нет ни программматора, ни МК. вопрос: какой лучше брать МК и для него какой собрать программатор

Сразу на ARM, не забивайте голову всякими AVR, Mega'ми, Tit'kami, Pic'ами и прочим "ширпотребом".
Например программатор-отладчик сразу на борту с STM32-Discovery. Камень там низкопотребляющей серии STM32
L152RB.
Отдельный отладчик (например ST-Link) стоит подороже. Можно попробовать собрать MT-Link, но для него придётся найти AT91xxxx (не помню какой) и прошить.
В конце концов конечно Вам выбирать на чём остановиться. Из плюсов STM (про LPC и др. не знаю) - почти все камни с одинаковым количеством ножек взаимозаменяемы, например вместо слабенького МК можно поменять в будущем (если не хватит мощей) на более мощный.
Вот ссыль
ТЫЦ где можно посмотреть на программаторы, их цену, и там же есть документация.
А тут,
ТЫЦ на МК, в данном случае с ядрами ARM.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 10:03:31
MS24
Ребят подскажите, у меня есть 12 кнопок и 12 диодов, должен гореть всегда только один диод, если зажигается следующий то предидущий должен гаснуть. Как мне с помощью массива реализовать данный алгоритм? Или просто сделать его короче, что бы не писать каждый порт по отдельности?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 10:33:38
pyzhman
Массив-то причем здесь?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 10:36:10
Engineer_Keen
Во-первых не совсем понятно какое взаимодействие с кнопками.
Во-вторых, чтобы что-то менять в алгоритме, его нужно для начала увидеть.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 10:54:26
MS24
Ну обычно реализуют через Массив, или я не прав?
Алгоритма нет еще пока (( я даже не знаю как его написать, пока лишь сделал так
if((PINA & (1<< PINA0)) == 0)
{
PORTC = 0xff;
PORTD = 0xff;
PORTC = 0x00000001;
}
if((PINA & (1<< PINA1)) == 0)
{
PORTC = 0xff;
PORTD = 0xff;
PORTC = 0x00000010;
}
и т.д.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 10:56:18
pyzhman
Ткни пальцем где тут массив?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 11:32:10
MS24
Вот я и спрашиваю, как сократить данный алгоритм? каким образом, здесь нет массива.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 11:55:41
MS24
может еще подскажите, почему этот код выдает ошибку? пишу в codevision
#include <mega128.h>
#define StartConvAdc() ADCSRA |= (1<<ADSC)
#define KEY_NULL 0
#define KEY_S1 1
#define KEY_S2 2
#define KEY_S3 3
#define KEY_S4 4
void main(void)
{
//настраиваем порты
DDRA = 0xff;
PORTA = 0xff;
DDRF = 0xff;
PORTF = 0xff;
DDRE = 0xff;
PORTE = 0xff;
while (2)
{
if ((PINA & (1<< PINA0)) == 0)
{
main1 (1);
}
}
}
void main1 (void)
{
// any code
}
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 12:11:22
pyzhman
Слишком неправильно все написано.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 12:23:51
MS24
а что именно не правильно? мне нужно при условии в одной функции, перейти к другой.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт мар 22, 2012 12:28:35
Engineer_Keen
А кучу одинаковых IF-ов лучше заменить на Switch-case. Массив тут по-моему не нужен...
И какую ошибку выдает код?