Сам неоднократно слыхал о пародийности CVAVR. От себя же скажу, что это чрезвычайно вредная среда. Она развращает новичков, тормозит развитие их мозгов и вообще перенаправляет его в другое русло. А всё из-за таких "прелестей" как Wizard и целого ряда не свойственных классической Си операторов. Так же бывалые и многоуважаемые мной люди говаривали, что код, сгенерённый CVAVR, после дизассемблирования чрезвычайно кривой и массивный - он не оптимизирован ни по размеру, ни по скорости исполнения, что для очень даже платной программы не очень хорошо.
С другой стороны CVAVR позволяет в кратчайшие сроки научиться "хоть как-то лабать" на AVR. Пусть при этом и "дарит" вывих мозга с затруднёнными прогнозами по переходу на "более человеческие" компиляторы.
Одним словом всё очень субъективно. Тут уж кому что важнее: "шашечки" или "ехать".
Я чего-то не пойму-начальный код с генерированный в CVAVR не будет скомпилирован в WinAVR или в IARe?.
Мне по барабану на чём писать CVAVR,WinAVR или IAR.Одни и те-же программы для пробы пишу во всех этих средах.Если программа довольно пространна,то в размере кода в выигрыше по компактности за CVAVR,конечно-же это не значит,что лучше.В WinAVR размер кода очень сильно зависит от степени оптимизации,а вот в IARе разница в коде в зависимости от степени оптимизации не сильно велика.
У меня как радиолюбителя-программиста-любителя,полностью отсутствуют комплексы по поводу процев и их сред разработки.
А в промышленности в основном используются промышленные контроллеры,где в основном используется язык лд-диаграмм,который у местных программистов вызывает рвотный рефлекс.
Ну "PORTA.0" в CVAVR можно заменить фразой на классическом С, и CVAVR переварит легко.
Я хотел добавить про другое.Сейчас максимально заработать можно работая программистом в среде 1С(Предприятие,бухгалтерия и т.д)А вы видели на каком языке она пишется?Классики С пришли бы в ужас.
Подскажите пожалуйста в CodevisionAVR я смогу прошить МК только программаторами типа STK200+/300, AVR910 или есть какие еще альтернативные варианты! Может под USB есть вариант программатора! требуется прошить Atmega16 в CodevisionAVR а LPT у меня нет на компе!
Marchello писал(а):Подскажите пожалуйста в CodevisionAVR я смогу прошить МК только программаторами типа STK200+/300, AVR910 или есть какие еще альтернативные варианты! Может под USB есть вариант программатора! требуется прошить Atmega16 в CodevisionAVR а LPT у меня нет на компе!
А AVR910 чем не USB??? Ещё есть AT STK-500. Ещё есть "дудка", но она шьёт из под своей проги.
Совесть писал(а):Да человек сам не понимает о чем говорит.
Я нехочу вступать в споры, всеравно каждый останется при своем мнении. Скажу лишь, что с другого компилятора на CVAVR портировать оч. легко и быстро, а вот наоборот нада помучиться.
Делаю двоично-десятичное преобразования дробных чисел (123.456778) тип float
Для целых чисел сделал а вот с дробными проблема.
И тут нашёл два варианте решения разделить число на целую часть 123 и остаток 456778 вот в таком виде не как не получается.
И второе решение посчитать количество чисел после запятой и потом умножить на 10*n что бы получить число 123456778 вот это как-то не особо выходит.
Vov123 писал(а):Применение всем известных макросов может свести переделку даже сложных программ к минимуму
--------------
Кстати и для переделки,например,с AVR на PIC.
Добрый вечер! Помогите пожалуйста! Мне надо организовать прием по UART с PC трех чисел от 0 до 255 и распихать эти три числа в три переменные. Передача может произойти в любое время. Контролер Мега8535.
Маленький хакер в подстанцию влез
Перенаправил поток он с АЭС
Клевая мощность два мегаватта,
Быстро горит материнская плата!
Включи прерывание по факту приёма посылки UART. В обработчике прерываний отправляй принятый байт в одну из трёх промежуточных временных переменных и делай запуск таймера (если пришёл первый байт) или перезапуск (если второй). По прерыванию таймера (таймаут истёк, а очередная посылка UART так и не пришла) выполни отключение таймера и сброс временных переменных - так сказать переход в исходное состояние на случай обрыва/сбоя передачи. Если все три посылки пришли без сбоя (таймер ни разу не сработал), тогда выключай таймер, значения трёх временных переменных присваивай тем, которые надо установить в случае успешного сеанса приёма данных и переходи в режим ожидания нового сеанса приёма.
Переменные все объявлены. Я посылаю по очередно три числа и по моей логике они должны заносится в три разных переменных, но каждая посылка заносятся в переменную ru. Я что то не правильно понимаю?
Извините за глупый вопрос.
Маленький хакер в подстанцию влез
Перенаправил поток он с АЭС
Клевая мощность два мегаватта,
Быстро горит материнская плата!