Мелкие вопросы по МК и ПЛИС.
- Сообщения: 12
- Зарегистрирован: Вс мар 18, 2012 10:36:19
Здравствуйте. Нужно сделать сравнительную таблицу по сравнению МК attini2313V с его конкурентами. Подскажите пожалуйста 5-6 контроллеров с которыми его можно сравнить (простенькие, с небольшим числов выводов). Желательно разных производителей. А то щас по большей части гуглятся навороченные чипы. А сравнивать 2313 с какой-нить ATxmega128 не клево =)
- Реклама
http://mymcu.ru/Ozeres писал(а):Подскажите пожалуйста 5-6 контроллеров с которыми его можно сравнить (простенькие, с небольшим числов выводов). Желательно разных производителей.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Большое спасибо!
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Потому что хочу научиться.
- Сообщения: 146
- Зарегистрирован: Вс сен 16, 2012 22:00:40
Здравствуйте.
Ни как не пойму как снимать показания с ПИНа в AVR Studio 4.
Знаю как сравнивать целый порт, а как отдельно один пин?
Например в книге что читаю, к пинам обращаются так: if( PINC.0==0)
Подобным образом даже не компилируется, как только не пробовал писать.
Ни как не пойму как снимать показания с ПИНа в AVR Studio 4.
Знаю как сравнивать целый порт, а как отдельно один пин?
Например в книге что читаю, к пинам обращаются так: if( PINC.0==0)
Подобным образом даже не компилируется, как только не пробовал писать.
При чём тут Студия? Вы можете хоть в блокноте писать.foton6 писал(а):в AVR Studio 4
Тут либо маскировать остальные биты, либо из PINX копировать в РВВ и делать условия через бит.foton6 писал(а):Знаю как сравнивать целый порт, а как отдельно один пин?
Это зависит от компилятора, если я не ошибаюсь.foton6 писал(а):Например в книге что читаю, к пинам обращаются так: if( PINC.0==0)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Реклама
Пробуем
А вообще - сообщение компилятора в студию. В эту, а не в ту. 
Код: Выделить всё
if(!PINC.0)Docendo discimus
Прикольно!!!Ozeres писал(а):Здравствуйте. Нужно сделать сравнительную таблицу по сравнению МК attini2313V с его конкурентами. Подскажите пожалуйста 5-6 контроллеров с которыми его можно сравнить (простенькие, с небольшим числов выводов). Желательно разных производителей.
Что вы с чем собираетесь сравнивать??? Атмэл давно забил большой и толстый болт на восьмибитники... если вы ещё не поняли...
А как вы хотели??? Те, кто ещё не бросил разработку восьмибитников, пичкают свои МК по максимуму... по самое не хочу...А то щас по большей части гуглятся навороченные чипы.
Сравните, для примера, с STM8... особенно серии L... да небо и земля... даже ДМА есть...
"Я не даю готовых решений, я заставляю думать!"(С)
Да уж, я где то видел рекламу типа Xmega в 8 ножном корпусе.HHIMERA писал(а):А как вы хотели??? Те, кто ещё не бросил разработку восьмибитников, пичкают свои МК по максимуму... по самое не хочу...
Вот это ещё... не рыба, не мясо... жалкое подобие левой руки...
Вместо одной XMega можно в местном ларьке купить 3-4 STM32... и не париться...
А STM8S003-их - целый стакан... как семечки...
Вместо одной XMega можно в местном ларьке купить 3-4 STM32... и не париться...
А STM8S003-их - целый стакан... как семечки...
"Я не даю готовых решений, я заставляю думать!"(С)
- Сообщения: 535
- Зарегистрирован: Вт авг 28, 2012 22:21:33
Слушайте, начал копаться с LPC2103, который на ARM7TDMI (в Keil), так там такие странные вещи творятся.
Как вы думаете, что делает этот код? Присваивает увеличивающееся значение ячейкам буфера? Нет!
buffer[0]=0 реально дает buffer[0*2] = 0
buffer[1]=1 реально дает buffer[1] = 1 и buffer[1*2] = 1
buffer[2]=2 реально дает buffer[2*2] = 4
buffer[3]=3 реально дает buffer[3] = 3 и buffer[3*2] = 3
Чуете закономерность? При присваивании значения четной ячейке, он реально присваивает ячейке с удвоенным номером. При присваивании значения нечетной ячейке, он реально присваивает значение этой ячейке и ячейке с удвоенным номером. В буфере соответственно полная каша! Однако, если буфер будет short, то все хорошо. В ассемблер глядел. Если буфер - char, то используется инструкция STRB, которая и творит такую хрень.
Что за черт?!?!
Код: Выделить всё
static char buffer[32];
static char cursor;
int main(void)
{
system_init();
while(1)
{
buffer[cursor] = cursor;
cursor++;
}
}
buffer[0]=0 реально дает buffer[0*2] = 0
buffer[1]=1 реально дает buffer[1] = 1 и buffer[1*2] = 1
buffer[2]=2 реально дает buffer[2*2] = 4
buffer[3]=3 реально дает buffer[3] = 3 и buffer[3*2] = 3
Чуете закономерность? При присваивании значения четной ячейке, он реально присваивает ячейке с удвоенным номером. При присваивании значения нечетной ячейке, он реально присваивает значение этой ячейке и ячейке с удвоенным номером. В буфере соответственно полная каша! Однако, если буфер будет short, то все хорошо. В ассемблер глядел. Если буфер - char, то используется инструкция STRB, которая и творит такую хрень.
Что за черт?!?!
попробуйте добавить unsigned и начальную инициализацию. (хотя глобальные по правилам и так в 0 инициализироваться должны). а что в этом SystemInit? Вы в каком режиме ядра работаете?
Ставим плюсы: )
- Сообщения: 535
- Зарегистрирован: Вт авг 28, 2012 22:21:33
Ого-го ребятушки! Я нашел засаду! Так то я буфер смотрел через окно Watch, а сейчас взял и посмотрел память, где лежит этот буфер, это через окно Memory. Там все хорошо.
Мораль: будьте аккуратнее, когда будете смотреть переменные через окошко Watch в Keil, потому что он там глючит, собака. Всплывающая подсказка с содержимым буфера тоже глючит. Версия 4.7.
Спасибо за внимание.
Мораль: будьте аккуратнее, когда будете смотреть переменные через окошко Watch в Keil, потому что он там глючит, собака. Всплывающая подсказка с содержимым буфера тоже глючит. Версия 4.7.
Спасибо за внимание.
А почему только у вас всё глючит???

"Я не даю готовых решений, я заставляю думать!"(С)
Согласен с Химерой - не стоит делать таких громких и необоснованных заявлений. Возможно, тип в окне watch не совпадает с типом переменных, отсюда и выдуманный глюк.
Вообще, в таких ситуациях, принято стараться разобраться, а не валить всё на "Васю Пупкина", льстя себе
Очень часто на форумах от новичков видишь фразу - "Глюк компилятора/IDE". Поверьте, разрабы IDE не на столько глупы, на сколько вам это кажется. Глюк, обычно, таится в "кривых руках" от недопонимания инструмента.
Вообще, в таких ситуациях, принято стараться разобраться, а не валить всё на "Васю Пупкина", льстя себе
Очень часто на форумах от новичков видишь фразу - "Глюк компилятора/IDE". Поверьте, разрабы IDE не на столько глупы, на сколько вам это кажется. Глюк, обычно, таится в "кривых руках" от недопонимания инструмента.
- Сообщения: 535
- Зарегистрирован: Вт авг 28, 2012 22:21:33
Тип в окне Watch нельзя выбрать. Все что я могу сделать - это добавить объект в Watch, удалить его оттуда, и выбрать вид отображения: hex, dec, и float+hex. Приведенный мной кусок кода так же предельно прост, в нем нету ошибок. И не думайте на system_init я его убирал - проблема оставалась, еще и startup.s пробовал брать не свой, а из примера. Хм... Что же остается? Возможно какие-то опции компилятора, или что-то с отладчиком, с драйверами, проблемы данного МК, или еще что-то. Но это не важно, ведь все оставшиеся варианты - это и есть баг.
Я конечно новичок - занимаюсь этим всего два года, но очень часто от того, что делают "старички", у меня текут кровавые слезы.Аlex писал(а):Очень часто на форумах от новичков
По моему небольшому, но все же опыту, скажу, что IDE для embedded - самые глючные из всех IDE. Да и не только IDE, а вообще весь программно-аппаратный комплекс для разработки. Тут МК не сбрасывается, тут точки останова не ставит, тут лучше не давать компилятору сложные выражения, тут надо питание переткнуть, чтоб заработало, и тому подобное. Поэтому я не удивляюсь таким выкрутасам, хотя они меня очень расстраивают.Аlex писал(а):Поверьте, разрабы IDE не на столько глупы, на сколько вам это кажется. Глюк, обычно, таится в "кривых руках" от недопонимания инструмента.
А вы в этом уверены???menzoda писал(а):Приведенный мной кусок кода так же предельно прост, в нем нету ошибок.
Криво Кейл стал... конфликт какой в системе... и т.д. ...Что же остается? Возможно какие-то опции компилятора, или что-то с отладчиком, с драйверами, проблемы данного МК, или еще что-то. Но это не важно, ведь все оставшиеся варианты - это и есть баг.
У меня тоже 4.70... однако таких проблем не наблюдается...
А не надо было терновый венок примерять...Я конечно новичок - занимаюсь этим всего два года, но очень часто от того, что делают "старички", у меня текут кровавые слезы.
Разные МК, разные производители, разные архитектуры, разные компиляторы... а вы хотите, чтобы было всё одинаково??? Так не бывает...По моему небольшому, но все же опыту, скажу, что IDE для embedded - самые глючные из всех IDE. Да и не только IDE, а вообще весь программно-аппаратный комплекс для разработки. Тут МК не сбрасывается, тут точки останова не ставит, тут лучше не давать компилятору сложные выражения, тут надо питание переткнуть, чтоб заработало, и тому подобное. Поэтому я не удивляюсь таким выкрутасам, хотя они меня очень расстраивают.
"Я не даю готовых решений, я заставляю думать!"(С)
- Сообщения: 535
- Зарегистрирован: Вт авг 28, 2012 22:21:33
Да, в нем нету ничего что бы противоречило стандартам Си. Или есть какие-то возражения?HHIMERA писал(а):А вы в этом уверены???
Ну вот вы и сами сейчас между строк сказали, что это баг.HHIMERA писал(а):Криво Кейл стал... конфликт какой в системе... и т.д. ...
Да я хочу, нет я просто требую, чтобы IDE для ARM (стоящая over 7000$), разрабатываемая под присмотром самого ARM, вместе с отладчиком J-Link ARM, хорошо работали с ARM микроконтроллером.HHIMERA писал(а):Разные МК, разные производители, разные архитектуры, разные компиляторы... а вы хотите, чтобы было всё одинаково??? Так не бывает...
Да, есть... попробуйте определиться самостоятельно...menzoda писал(а):Да, в нем нету ничего что бы противоречило стандартам Си. Или есть какие-то возражения?HHIMERA писал(а):А вы в этом уверены???
Я такого не говорил... это вам так хочется...Ну вот вы и сами сейчас между строк сказали, что это баг.HHIMERA писал(а):Криво Кейл стал... конфликт какой в системе... и т.д. ...
У меня, как то, "зачудил" МПЛАБ... работавший до этого не один месяц и работающий до сих пор... но ведь это не глюк МПЛАБа, это был просто сбой в системе!!!
Переустановка всё решила...
Может потому, что я не настолько требователен и категоричен... у меня всё и работает???Да я хочу, нет я просто требую, чтобы IDE для ARM (стоящая over 7000$), разрабатываемая под присмотром самого ARM, вместе с отладчиком J-Link ARM, хорошо работали с ARM микроконтроллером.HHIMERA писал(а):Разные МК, разные производители, разные архитектуры, разные компиляторы... а вы хотите, чтобы было всё одинаково??? Так не бывает...
"Я не даю готовых решений, я заставляю думать!"(С)
- Сообщения: 535
- Зарегистрирован: Вт авг 28, 2012 22:21:33
Вот не надо этих игр и шарад. Есть ошибка, которая могла привести к описанной мной лабуде - говори, обсудим, нет - молчи.HHIMERA писал(а):Да, есть... попробуйте определиться самостоятельно...
А сбой в системе - это моя вина и проблема, да? Я должен следить, чтобы Keil не конфликтовал с фотошопом или калькулятором? Я должен переустанавливать его раз в неделю для профилактики, да? На нем написаны системные требования, я их выполнил. Все остальное - проблемы кривости рук разработчиков Keil. Если они не могут сделать не сбоящее ПО - сами дураки.HHIMERA писал(а):ведь это не глюк МПЛАБа, это был просто сбой в системе!!!
Надо быть требовательным. Если все будут требовать - они сделают, если все будут смиренно попускать им недостатки - они не пошевелятся и продолжат доить.HHIMERA писал(а):Может потому, что я не настолько требователен и категоричен... у меня всё и работает???
А с чего ты решил, что я буду спорить и что-то доказывать???
Вот оно мне надо!!! "Я не даю готовых решений, я заставляю думать!" (С)
Не нравится Кейл... есть ИАР, Кокос-Кактус и пр. ... дерзай!!! Удачи!!!
Вот оно мне надо!!! "Я не даю готовых решений, я заставляю думать!" (С)
Не нравится Кейл... есть ИАР, Кокос-Кактус и пр. ... дерзай!!! Удачи!!!
"Я не даю готовых решений, я заставляю думать!"(С)


