Например TDA7294

Форум РадиоКот • Просмотр темы - Нескольно простых вопросов о программировании AVR на Си.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 20, 2024 09:57:22

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1459 ]    , 2, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт май 22, 2014 11:15:58 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5592
Откуда: Minsk
Рейтинг сообщения: 1
Ассемблер. Реализует все возможности АВР без всяких ограничений и "костылей". Заодно "заостряет ум" пользователя.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт май 22, 2014 11:17:46 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн июл 09, 2012 11:07:59
Сообщений: 389
Откуда: Ukraine
Рейтинг сообщения: 0
Я вот на студию и смотрю, судя по описанию она на основе визуал студии сделана, а это приятно и удобно, родная среда))

Jack_A, уметь бы еще писать на нем нормально) А то дальше того что в универе давали ничего не знаю, да и то походу давно уже забыл)

_________________
In me the WishMaster...
Изображение
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт май 22, 2014 11:24:45 
Вымогатель припоя
Аватар пользователя

Карма: -2
Рейтинг сообщений: 105
Зарегистрирован: Ср июн 19, 2013 08:10:48
Сообщений: 577
Откуда: Москва, СПб, Липецк, Рязань
Рейтинг сообщения: 1
Jack_A писал(а):
Ассемблер. Реализует все возможности АВР без всяких ограничений и "костылей". Заодно "заостряет ум" пользователя.

Ага. И закаляет характер! ;)

Пользую студию 6.0. очень удобно работать в плане подсветки синтаксиса, автоматического ввода имен переменных и др. + много всяких примочек, позволяющих, например, двинуть весь абзац одним нажатием клавиши табуляции. Или закомментировать его клавишей /. Жду-недождусь когда сделают возможность сворачивания блока кода (как в CV AVR).
Большой минус - бывают проблемы с правильностью компиляции. + при изменении настроек оптимизации код, работавший с прошлыми настройками в 70% случаев перестает работать. Поэтому обычно пишу код в 6-й студии, а потом переношу в 4-ю и компилю. )
Ну, и эмулятор в 6-ке глючный


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт май 22, 2014 11:31:29 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 3
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
при слове Visual Studio у меня мурашки по коже :) поэтому я продолжаю рекомендоваь Eclipse, редактор которого с моей точки зрения содержит абсолютно все фишки, которые только можно пожелать, включая сдвиги, комментирование, сворачивание и т.п. выделение. к тому же он может работать с флешки :)

Безусловным плюсом Атмеловской студии следует признать наличие весьма приличного симулятора, это факт. Альтернативных бесплатных симуляторов для AVR такого уровня просто не существует... но ради симулятора ставить монструозную 6-ю студию - увольте! поэтому продолжаю пользоваться студией версии 4.18. а для симуляции использую PROTEUS

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт май 22, 2014 11:32:31 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн июл 09, 2012 11:07:59
Сообщений: 389
Откуда: Ukraine
Рейтинг сообщения: 0
Попробую студию :)) Не хочу в CVAVR возвращаться) От нее отупеть можно с этими визардами)
Ну визуалка хорошая вещь, по сравнению с тем же нетбинсом)

_________________
In me the WishMaster...
Изображение
Изображение


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт май 22, 2014 11:36:37 
Друг Кота
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1027
Зарегистрирован: Сб апр 02, 2011 12:40:46
Сообщений: 4779
Откуда: Минск
Рейтинг сообщения: 0
ИС-пытатель писал(а):
Жду-недождусь когда сделают возможность сворачивания блока кода


А я эту возможность в IAR отключил. При работе часто пользуюсь выделением строк кликом мышки слева, так постоянно попадал на это сворачивание.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт май 22, 2014 11:45:22 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн июл 09, 2012 11:07:59
Сообщений: 389
Откуда: Ukraine
Рейтинг сообщения: 0
О, а что по поводу IAR скажете?

_________________
In me the WishMaster...
Изображение
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср июл 09, 2014 22:35:26 
Первый раз сказал Мяу!

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Вт май 14, 2013 11:03:33
Сообщений: 21
Рейтинг сообщения: 0
вопрос по авр студии - 5.1
при написании кода для совсем мелких контроллеров хочется использовать регистры напрямую. это также уменьшает использование памяти на пуши из/в стек при переходах в пп.
в частности, CVAVR при компилировании всегда сам использовал регистры, без применения ОЗУ. студия же даже для одной переменной в проекте всёравно использует озу.
в одном из видео подсмотрел оператор Register, специально для этих целей. однако студия конструкцию
register unsigned char temp;
просто не видит, далее по тексту выделяет temp как просто не обьявленную. что делать? :shock:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср июл 09, 2014 22:56:28 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Winavr так понимал:
register unsigned char counter asm("r3");
регистры вроде можно использовать r2-r7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср июл 09, 2014 23:06:18 
Первый раз сказал Мяу!

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Вт май 14, 2013 11:03:33
Сообщений: 21
Рейтинг сообщения: 0
где на эту тему можно почитать? точнее что вообще искать......


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср июл 09, 2014 23:17:03 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
AVR Libc Reference Manual
9.10.4 How to permanently bind a variable to a register?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вт окт 14, 2014 16:30:17 
Прорезались зубы

Карма: -1
Рейтинг сообщений: 5
Зарегистрирован: Ср апр 29, 2009 22:22:13
Сообщений: 234
Откуда: СПб
Рейтинг сообщения: 0
Всё, как всегда, не так просто, как хотелось бы.
1. Необходимость в ассемблере существует. Только она столь редка и конкретна, что просто так, из пижонства прибегать к нему не вижу смысла. Какой-то умник с изиэлектроник сказал: "Жизнь слишком коротка и интересна, чтобы ассемблеры изучать".
2. Си тоже не подарок судьбы. Недаром регулярно происходят пересмотры стратегий компиляторов. Например, адресация. В существующей версии есть значение переменной, а есть ссылка на неё (адрес). И что хорошего? Очередной головолом и лишняя возможность для ошибок. В новой версии, говорят, эту пакость решат.
3. Всякий компил жрёт место в памяти и время выполнения. Так "Не гонялся бы ты, поп, за дешевизною". Ставь более мощный МК и не крохоборничай!
4. Все версии компиляторов содержат хитрости и недомолвки. Например, можно обрабатывать Булевы переменные битовыми операциями. Ну, типа вместо && писать &. Некоторые компилы ругаются, другие внимания не обращают. Или while(1). Неправильно это. Не по циркулю. 1 - не Булева переменная. Д.б. while(true). Только я такого занудства нигде не видел.
5. Atmel Studio 6.0 и 6.2 вещи удобные. Мне, ИМХО, нравятся. Но я к MC VC++ и MC VC# привыкший, мне проще.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вт окт 14, 2014 16:52:30 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 2
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
illarionovsp писал(а):
Ну, типа вместо && писать &. Некоторые компилы ругаются, другие внимания не обращают.

Во-первых, булевого типа в Си вообще не существует, т.е. принципиально.
Во-вторых, очень многие и так не могут понять разницу между & и &&.
В третьих, настоящие монстры вместо | | применяют +, а вместо && умножение.

Си даёт программисту широкий спектр инструментов для создания проблем ;-)

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вт окт 14, 2014 21:28:48 
Прорезались зубы

Карма: -1
Рейтинг сообщений: 5
Зарегистрирован: Ср апр 29, 2009 22:22:13
Сообщений: 234
Откуда: СПб
Рейтинг сообщения: 0
ARV пишет: "в Си булевских (логических) типов нет".
Правильно, нет. А известное лукавство есть. Логические константы true и false есть. В книжке приведён пример:
int x=20; printf("%d", x>10);
Компил проглотит эту чепуху невозмутимо, даже не поморщится.
Вот уж действительно "А древо жизни пышно зеленеет".
Напишите y=(a>b);
a>b какой тип имеет. Ясен пень, булевский (логический). Т.е. такой, которого не бывает. А раз не бывает, то компил гавкнет: Пиши int y. Или ещё какой из списка разрешённых.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вт окт 14, 2014 21:37:37 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
illarionovsp писал(а):
Напишите y=(a>b); a>b какой тип имеет. Ясен пень, булевский (логический). Т.е. такой, которого не бывает. А раз не бывает, то компил гавкнет: Пиши int y. Или ещё какой из списка разрешённых.
если можно, не надо фантазировать на публике :)

выражение a>b имеет тип int по умолчанию, принимает значение 0 или 1, и никакого "гавканья компилера" не может вызывать.

вы можете определить самостоятельно какие угодно "константы", но это ничего не изменит в Си... в нем нет булевого типа :)

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср окт 15, 2014 16:13:37 
Прорезались зубы

Карма: -1
Рейтинг сообщений: 5
Зарегистрирован: Ср апр 29, 2009 22:22:13
Сообщений: 234
Откуда: СПб
Рейтинг сообщения: 0
Прошу прощения. Всё не от необузданной фантазии, а от "большого" ума.
В MC VC++ тип bool есть. А я уже давно на простом Си не работаю.
Сейчас начал прибор программировать, а в прикладных приборных прогах от С++ только заумствования одни, толку чуть.
Но всё же вопрос остался: (x>y) имеет тип int или автоматически (в случае необходимости) преобразуется в int. Или, по другому, длина у (x>y) байт (меньше не бывает) или 2 байта, как у int? Думается, что 1 байт...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср окт 15, 2014 16:57:31 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Длина переменной определяется ее типом, остальное - явное или неявное приведение типов.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср окт 15, 2014 21:21:46 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Цитата:
Но всё же вопрос остался: (x>y) имеет тип int или автоматически (в случае необходимости) преобразуется в int.
Само по себе оно не имеет типа (в ассемблерном виде обрабатывается как блок if с присвоением 1 либо 0), но по логике языка тип тот же, что у аргументов, тем более что по факту операция сравнения - вычисление разности без записи результата.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Сб окт 18, 2014 18:51:43 
Прорезались зубы

Карма: -1
Рейтинг сообщений: 5
Зарегистрирован: Ср апр 29, 2009 22:22:13
Сообщений: 234
Откуда: СПб
Рейтинг сообщения: 0
Книжку открываем. Читаем: while(сравнение) {}.
Читаем дальше: while(1) {}. 1 - результат сравнения (истина). Но результат сравнения и оператор сравнения, это несколько разные вещи. ИМХО.
Насчёт сравнения, как вычисление разности без записи этой самой разности. Но с выставлением флагов. Флаг - это бит. Стал быть, булева переменная имеет размерность бит. А дальше преобразуем куда хотим. Это, ребята, здорово. Логические переменные очень логичны.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вс окт 19, 2014 12:03:45 
Это не хвост, это антенна
Аватар пользователя

Карма: 8
Рейтинг сообщений: 193
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1441
Рейтинг сообщения: 0
Флаги выставляются в SREG, а не в переменной. Для AVR разницы, где хранить булевские переменные, нет. Хоть 8 штук на байт, хоть одну, хоть одну на long long. Физически булевские переменные не являются результатом математического преобразования. Насчет while(1) так логическим 0 считается нулевое число, а логической 1 - любое ненулевое число.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1459 ]    , 2, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y