Например TDA7294

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





Текущее время: Вт апр 16, 2024 23:39:52

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


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



Начать новую тему Ответить на тему  [ Сообщений: 2102 ]     ... , , , 102, , , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 18, 2017 08:00:35 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

можете попробовать, предварительно заархивировав папку с уже установленной версией avr-gcc, скачать более свежую версию и тупо перезалить содержимое папок - их названия одинаковы, файлы предыдущей версии будут затерты новыми... если не понравится - вытрете все вобще и из архива восстановите прежнюю версию. вся инсталляция заключается только в распаковке архива и правильном прописывании путей в PATH...

Добавлено after 1 minute 43 seconds:
Пока_без_кота писал(а):
conflicting types for 'SendStr_P'
это скорее всего из-за того, что прототип и реализация у вас не одинаковые. небось, в прототипе-то забыли const дописать...

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 18, 2017 08:08:03 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
ARV писал(а):
... небось, в прототипе-то забыли const дописать...
Бинго! Вы наверное и по фотографии много чего умеете :)))
Насчет подмены фалов, после работы попробую.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 18, 2017 08:49:12 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

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

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


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 18, 2017 18:58:45 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Эта музыка будет вечной ... Теперь такая ситуация:
Все строки во флеше обьявлены вот так:
Код:
const char AT[] PROGMEM = "AT\r\n";
const char OK[] PROGMEM = "OK\r\n";
const char ATE0[] PROGMEM = "ATE0\r\n";
const char ATV0[] PROGMEM = "ATV0\r\n";

Есть функция парсинга строки:
Спойлер
Код:
// Парсинг строки ==================
char Parsing(char *string, unsigned int parsing_delay)// На входе указатель на 1 символ строки, и время парсинга строки
{
   unsigned char temp;

   parsing_result = 0;                           // Начинаем парсинг с обнуления успешного парсинга/устранения ошибки парсинга   
   parsing_pointer = string;                     // Копируем указатель на 1 сивол строки, которую будем парсить в глобальную переменную
   temp = UDR;                                 // Читаем приемник, чтобы сбросить флаг прерывания от всякого мусора, который там был до этого   
   UCSRB |= 1<<RXCIE;                           // Разрешаем прерывание по приходу байта - парсинг начался                           

   while(parsing_result != 1)                     // Ждем успешного окончания, либо ошибки парсинга
   {
      _delay_ms(1);
      parsing_delay--;
      if (parsing_delay == 0)                     // Если время парсинга вышло
      {
         UCSRB &= ~(1<<RXCIE);                  // Запрещаем прерывание по приходу байта, чтобы не отвлекаться на всякую дрянь
         return 2;                           // И вываливаемся из цикла с ошибкой парсинга
      }
   }
   return 1;
}

Прототип обявлен соответственно:
Код:
char Parsing(char *string, unsigned int parsing_delay);

Имею warning: passing argument 1 of 'Parsing' discards 'const' qualifier from pointer target type [enabled by default]
Вроде все понятно, как и в предыдущий раз добавляю const в прототип, получая
Код:
char Parsing(const char *string, unsigned int parsing_delay);

и в саму функцию (код не привожу, понятно что меняеться только в "шапке").
И получаю уже другой warning: assignment discards 'const' qualifier from pointer target type [enabled by default] на строчке функции парсинга
Код:
parsing_pointer = string;

Как побороть этот порочный круг ? :oops:
П.С. Как всегда, написал, и только тогда понял как. Надо переменную обявить как
Код:
const char *volatile   parsing_pointer;

Верно ? Просто для меня это как-то нелогично, к переменной приписывать атрибут const :dont_know:


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 18, 2017 19:36:29 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

const char * var; надо читать задом наперед: [переменная] var - это указатель на символ-константу.

то есть не переменная константа, а указатель на константу. сам указатель вполне себе не константный.

если вам приспичит иметь константный указатель, то он должен быть записан иначе, вам уже объясняли: char * const var; - читаем задом наперед: var - это неизменяемый (т.е. константный) указатель на char

Си - странный язык... чтобы понять некоторые записи, надо смотреть на них справа налево, хотя почти все читается слева направо...

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

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


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 18, 2017 22:18:28 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Спасибо, понял.
Почему вот так массив можно описать
Код:
unsigned char   buffer[20];

а вот так уже нет
Код:
#define         buffer_max   20;                     // Размерность буффера
unsigned char   buffer[buffer_max];   


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср окт 18, 2017 22:40:17 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Пока_без_кота писал(а):
а вот так уже нет
Код:
#define         buffer_max   20;                     // Размерность буффера
unsigned char   buffer[buffer_max];   

Можно. Но у Вас ошибка в дефайне. Сделайте сами замену текста и поймёте в чём ошибка :)

Добавлено after 9 minutes 15 seconds:
Си - странный язык... чтобы понять некоторые записи, надо смотреть на них справа налево, хотя почти все читается слева направо...

Ничего странного, всё предельно просто. То, что слева от звёздочки - относится к типу на указываемый объект, всё что справа от неё - к самому указателю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 06:36:11 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 07:34:45 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Пока_без_кота писал(а):
Прошу прощения, но я буквально скопировал buffer_max из дефайна в размерность буффера, и все равно ошибка "имеет место быть". Я не понимаю :dont_know:

Вы меня не поняли. Заменять нужно не buffer_max, а то, на что это меняется в программе.
Вы, по всей видимости, с трудом представляете, что такое define. На самом деле, всё очень просто. define - это обычная подмена одного текста, на другой. Не более того.
Посмотрите, что и на что заменяется :
Код:
Заменяется    Вот это      На это   
            |          |            |
            |          |            |
#define      buffer_max      20;    // Размерность буффера

и сами вручную замените у себя в программе. И сразу увидите ошибку.
Мне не хочется Вам сразу на неё указывать. Хотелось бы, чтобы Вы её сами обнаружили, дабы в дальнейшем в неё меньше вляпываться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 17:01:20 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Я действительно не понимаю чего я не понимаю.
Я понимаю, что дефайн, это просто змена текста.
Но я не понимаю, почему, если я его определил, эта замена не хочет осуществляться. :oops:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 17:02:48 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
А зачем там в дефайне лишняя точка с запятой? Это приведёт к ошибке 100%.
Спойлер
Код:
unsigned char   buffer[20;];   // ошибка


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 17:13:31 
Грызет канифоль

Карма: 9
Рейтинг сообщений: 80
Зарегистрирован: Чт ноя 06, 2014 13:09:06
Сообщений: 251
Рейтинг сообщения: 0
А зачем там в дефайне лишняя точка с запятой? Это приведёт к ошибке 100%.

Ошибка которую находит компилятор - это не ошибка вовсе :)) Так, опечатка, исправил - и нет ее :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 17:20:18 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
А зачем там в дефайне лишняя точка с запятой? Это приведёт к ошибке 100%.
А откуда вы взяли этот код? В том, что я выложил несколькими постами выше, нет этой точки с запятой...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 17:27:03 
Держит паяльник хвостом
Аватар пользователя

Карма: 11
Рейтинг сообщений: 43
Зарегистрирован: Вс май 23, 2010 13:55:42
Сообщений: 908
Откуда: Украина, Александрия
Рейтинг сообщения: 0
Уберите ту, которая есть...

_________________
«И всё-таки она вертится!»


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 17:27:38 
Грызет канифоль

Карма: 9
Рейтинг сообщений: 80
Зарегистрирован: Чт ноя 06, 2014 13:09:06
Сообщений: 251
Рейтинг сообщения: 0
Спасибо, понял.
Почему вот так массив можно описать
Код:
unsigned char   buffer[20];

а вот так уже нет
Код:
#define         buffer_max   20;                     // Размерность буффера
unsigned char   buffer[buffer_max];   


хм... Это не Ваш пост?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 17:31:28 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Всем спасибо за ваше терпение!!! До меня дошло.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 17:54:12 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А зачем там в дефайне лишняя точка с запятой? Это приведёт к ошибке 100%.
Спойлер
Код:
unsigned char   buffer[20;];   // ошибка

Вот знал я, что кто-нибудь не выдержит и скажет :)
Совсем не дают людям подумать ... :(

Я же не зря человеку написал - замените текст вручную. Причём подробно расписал, что и на чего меняется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 18:29:03 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Не сердитесь)) Я думаю, мне еще представиться случай подумать :))) В свое опрадание только скажу, что я воспринимал эту точку с запятой не как обязательную конструкцию языка Си, а как символ начала коментария (сказываеться опыт программирования на 3 ассемблерах, без единого ЯВУ).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 18:40:34 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт окт 19, 2017 18:49:32 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Спасибо за "предупредительный выстрел" :write:


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

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


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

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


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

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


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