Привет всем. Прошу помощи разобраться с программой. Делаю поиск DS18B20, IDE 1.8.19 контроллер ATTIny85, проверяю в Proteus-е. Все компилится и идет поиск если строка 190 или 191 закоментированы, но если разкоментировать одну из них компиляция идет но поиск не проходит.
Первое - рекомендую поставитьна вкладке файл - настройки - сообщения компилятора - "ВСЕ" это позволит получать деталировку сообщений об ошибках. Второе...
Код:
data = data16 & 0xFF;
но data у нас тип byte, а результат операции int.... как то неправильно - или делаем приведение к типу byte или вообще по другому делать - есть же и lowByte() и маски со сдвигом... Вобщем - работаем над ошибками!
Последний раз редактировалось BOB51 Ср ноя 27, 2024 20:36:03, всего редактировалось 1 раз.
Первое - рекомендую поставитьна вкладке файл - настройки - сообщения компилятора - "ВСЕ" это позволит получать деталировку сообщений об ошибках. Второе...
Код:
data = data16 & 0xFF;
но data у нас тип byte, а результат операции int.... как то неправильно - или делаем приведение к типу byte или вообще по другому делать - сть же и lowByte() и маски со сдвигом... Вобщем - работаем над ошибками!
Ничего криминального не заметил, а lowByte() в строке 190 так же запрещает поиск.
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Там вроде "не могу преобразовать" и указана строка где вопрос... Но компиляцию может и не останавливать - только предупреждение выдаст. Я с 85й не работал - но Си вроде одинаков для всех... Предупреждения надо устранять.
Если говорить вообще о warnings, то не всегда. Они могут быть искусственно вызваны для сообщения-напоминания пользователю о чём-то, кроме того, они могут быть общими, но не относиться именно к данному случаю или быть допустимыми. Для всего этого специально существуют директивы, как генерирующие warnings, так и блокирующие их.
Только не в случае с ded4141... Там простейшая классическая ошибка... В личке ему ответил, а сейчас и проверил и подтвердил предположение. Вот только не понимаю - зачем выдумывать то, что уже есть - к примеру та же библиотека OneWire? Подставляем то, что нам нужно и достаточно. То же касается и библиотеки для WS28xxx (Adafruit_NeoPixel) эти библиотеки крайне тяжело самоделками на Си заменить(без сишного ассемблера). Разве что с точки самоудовлетворения/самообучения.
Только не в случае с ded4141... Там простейшая классическая ошибка... В личке ему ответил, а сейчас и проверил и подтвердил предположение. Вот только не понимаю - зачем выдумывать то, что уже есть - к примеру та же библиотека OneWire? Подставляем то, что нам нужно и достаточно. То же касается и библиотеки для WS28xxx (Adafruit_NeoPixel) эти библиотеки крайне тяжело самоделками на Си заменить(без сишного ассемблера). Разве что с точки самоудовлетворения/самообучения.
библиотека OneWire не показывает поиск в Proteus, когда подгоняю времена в библиотеке -показывает только один адрес.
А зачем собственно вешать гирлянду из микроLAN на тиньку 85ю (довольно редкую и ценою крокодиловою), если вполне в изобилии нанок и про-мини? В то же время на практике серийный номер при одиночном датчике штука весьма излишняя. Да и тестирование на макете гораздо надежнее... В то же время для "скоростных" протоколов придется использовать GNUasm (это не одно и то же, что avrasm2 в авр студии!), что для простого пользователя таки сложновато. По интервалам исполнения вопрос весьма сложный - всегда есть определенные отклонения и при изготовлении (кварцев, элементов генератора) и при изменении окружающей температуры плюс "особенности" конкретной программы в конкретном железе. Ежли вписывается в усредненное значение - тогда и работать будет. В принципе... ежли ужшшш "совсем приперло"... Делаем собственный преобразователь на малолапом МК под ассемблером (в той же авр студио) и стыкуем его с ведущим МК по любому из стандартных протоколов. Обычное дело - самодельный "периферийный контроллер".
А зачем собственно вешать гирлянду из микроLAN на тиньку 85ю (довольно редкую и ценою крокодиловою), если вполне в изобилии нанок и про-мини? В то же время на практике серийный номер при одиночном датчике штука весьма излишняя. Да и тестирование на макете гораздо надежнее... В то же время для "скоростных" протоколов придется использовать GNUasm (это не одно и то же, что avrasm2 в авр студии!), что для простого пользователя таки сложновато. По интервалам исполнения вопрос весьма сложный - всегда есть определенные отклонения и при изготовлении (кварцев, элементов генератора) и при изменении окружающей температуры плюс "особенности" конкретной программы в конкретном железе. Ежли вписывается в усредненное значение - тогда и работать будет. В принципе... ежли ужшшш "совсем приперло"... Делаем собственный преобразователь на малолапом МК под ассемблером (в той же авр студио) и стыкуем его с ведущим МК по любому из стандартных протоколов. Обычное дело - самодельный "периферийный контроллер".
Это первая моя прога в ардуино , тем более наделаны платы и спаяны. Раньше писал по мелочи на Algoritm Builder. Поиск DS написан и четко работает и по UART отправка идет нормально, а вот прием ни в какую. В ардуино UART работает а поиск не идет. Записал сканер ROM кода -ни в PROTEUS ни в железе. Хотел вычислить адреса датчиков и тупо воткнуть в скетч.
Собственно никто DSки - термометры не ищет (если речь о search rom) - идет прямое простое считывание данных блокнота с последующей проверкой контрольной суммы. Или имеется ввиду отзыв "presence pulse" диаграммы обмена? Да и никто не обязывает использовать все функции библиотеки - выбираем самые необходимые и на их основе дописываем желаемое дополнение уже по своему. Еще одно замечание по поводу OneWire... В основном файле *.ino предварительно должны быть объявлены массивы: byte data[12] - массив данных блокнота(в частном случае только одного ds18b20 data[9]), и byte addr[8] - массив адреса/идентификатора - используется в случае необходимости работы с адресами.
ругается : error: narrowing conversion of '62445' from 'int' to 'int16_t' {aka 'short int'} [-Wnarrowing] Пробовал варианты, не одновременно : 1)
Код:
const (int16_t )(DATA_16[]={0xf3ed,0xf40a, ...
и 2)
Код:
const int16_t* data_ptr = (int16_t) (DATA_16);
Варианты ругательств : error: cast from 'const int*' to 'int16_t' {aka 'short int'} loses precision error: invalid conversion from 'int16_t' {aka 'short int'} to 'const int16_t*' {aka 'const short int*'} error: ISO C++ forbids declaration of 'int16_t' with no type error: 'const int int16_t' redeclared as different kind of entity Забыл главное : RP2040
Заголовок сообщения: Re: Arduino IDE в вопросах и ответах
Добавлено: Вс дек 15, 2024 11:42:42
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19710 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Так 62445 не влезает в int16
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Arduino IDE в вопросах и ответах
Добавлено: Вс дек 15, 2024 12:10:42
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19710 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Попробуйте явно -3091 в массиве задать.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Arduino IDE в вопросах и ответах
Добавлено: Вс дек 15, 2024 12:28:26
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19710 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Понятное дело, что никто не будет 1000 (да даже 100) значений менять вручную - это просто понять, что конкретно не нравится.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения