ДЕЙЛ
Свой-
Постов
728 -
Зарегистрирован
-
Посещение
-
Победитель дней
5
Весь контент ДЕЙЛ
-
Сдвинуть указатель в Delphi на нужную позицию
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Возможно. Навскидку накидал. Вопрос не в си, а в том, как в делфи обратиться к элементу массива через указатель на этот массив. -
Сдвинуть указатель в Delphi на нужную позицию
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Сделал вот так: procedure DataGraphAdd(val : Int64; DateTime: TDateTime); var pDGTmp : pDataGraph; begin pDGTmp := FormGraph.pDG; inc(pDGTmp, FormGraph.DGiAct); pDGTmp^.val := val; pDGTmp^.dt := DateTime; inc(FormGraph.DGiAct); FormGraph.DGiAct := FormGraph.DGiAct and (MAX_CNT_DG - 1); end; Туповато, но лучше, чем передача массива в функции. -
Сдвинуть указатель в Delphi на нужную позицию
ДЕЙЛ опубликовал тема в Программирование
Есть указатель pVal : ^TType; запись осуществляется так pVal := @Buf; //инициализация pVal^ := XX; //нулевая позиция inc(pVal); pVal^ := YY; //первая позиция inc(pVal); pVal^ := ZZ; //вторая позиция Как правильно сдвинуть указатель на вторую позицию сразу после инициализации? В сети ответа пока не нашёл. В си аналогичный код выглядел бы так: TType* pVal; pVal = &Buf[0]; *(pVal[2]) = ZZ; или *(pVal + 2*sizeof(TType)) = ZZ; -
E22-900M30S Дальность связи
ДЕЙЛ ответил ДЕЙЛ тема в Wireless/Optic
Да. Изменение на SF12 увеличило в разы дальность, но при этом закономерно уменьшилась скорость передачи до десятков байт в секунду. На открытой местности пока не тестировал. -
E22-900M30S Дальность связи
ДЕЙЛ ответил ДЕЙЛ тема в Wireless/Optic
Обвязка не моя. Её сделали на заводе в виде модуля E22. Полагаю, что там указан средний ток, а я имею ввиду пиковый в момент передачи пакета. По осциллограмме можно увидеть, что средний ток и будет примерно 100...120 мА. Т.е. с токами всё нормально, а вот вопрос увеличения дальности приёма-передачи пока остался открытым. -
E22-900M30S Дальность связи
ДЕЙЛ ответил ДЕЙЛ тема в Wireless/Optic
Проверяли ? Проверил. Вижу, что при -9dBm потребляемый ток 200мА, при 22dBm потребление 400мА, т.е. потребляемая мощность в моменты передачи пакетов 1 и 2 Вт соответственно. Ток измеряется на резисторе 0.5 Ом. -
E22-900M30S Дальность связи
ДЕЙЛ ответил ДЕЙЛ тема в Wireless/Optic
Это максимум, который можно задавать в настройках МК. Далее до 30 dBm прибавляет обвязка в составе модуля E22 900M30S. Можно поподробнее? Какие тут тонкости могут быть? -
E22-900M30S Дальность связи
ДЕЙЛ опубликовал тема в Wireless/Optic
В документации на данный модуль сказано, что максимальная дальность связи 10-12 километров. У меня дальше 400-500 метров связь в поле пропадает. Перепробовал все настройки в разных комбинациях, но не дотянул даже до 10% от заявленного расстояния. Питание модуля от USB (Power bank). Настройки на скрине. Антенны соответствуют рабочей частоте. Какие тонкости нужно учитывать для увеличения расстояния связи? -
Защита для экспериментов на столе. В месте установки плюс и минус останутся на своих местах.
-
ExpressLRS
ДЕЙЛ ответил ДЕЙЛ тема в RF & Microwave Design
Какие преимущества даёт этот проект? У меня есть модуль E22 + МК, могу менять все параметры, отправлять и принимать пакеты. Что может дать ExpressLRS? -
ExpressLRS
ДЕЙЛ ответил ДЕЙЛ тема в RF & Microwave Design
Т.е. это прошивки для конкретных пар МК+радиомодуль? -
ExpressLRS
ДЕЙЛ опубликовал тема в RF & Microwave Design
Кто имел дело с этим словом? Если это протокол, то где найти документ с его описанием? Гугл отправляет на разные сайты вроде этого https://flymod.net/txt/expresslrs_information В документации нет никакого описания, а только инструкции по прошивке приёмников и передатчиков. Есть исходники на GitHub, но там сотня файлов. Так понимаю, что это исходники прошивки для конкретных устройств. С чего нужно начинать изучение этой темы? У меня есть МК и модуль E22, работающий по SPI. Можно ли как-то прикрутить сюда исходники с https://github.com/ExpressLRS/ExpressLRS ? -
AT Command Tester и прочие
ДЕЙЛ ответил megajohn тема в Сотовая связь и ее приложения
Такое зависание возможно в том случае, если используется com0com и второй виртуальный порт никуда не подключен. -
Правильно поставленный вопрос существенно ускоряет получение ответа. Студенты тоже этому должны учиться.
-
E22 900M30S не читаются регистры по SPI
ДЕЙЛ ответил ДЕЙЛ тема в RF & Microwave Design
Нет, регистр там 8битный. Было неправильное представление о работе SPI. Результат будет готов сразу после записи последнего байта, после чего можно вычитывать. Т.е. для начала чтения результата нужно протолкнуть ещё один NOP и выполнить чтение выдвинутого результата. -
Общий коллектор даёт усиление только по току. по напряжению коэффициент усиления чуть меньше единицы. Переключение диодов меняет параметры источников тока на транзисторах Q3 и Q5. Дальше вспоминать схемотехнику лень. Почти 20 лет прошло.
-
Стоимость прошивки для МК
ДЕЙЛ ответил Turgenev тема в Предлагаю работу
Второй пункт порадовал. Там наверняка can-шина и будет очень весело разбирать протокол, когда хотя бы два мастера будут делить шину. -
E22 900M30S не читаются регистры по SPI
ДЕЙЛ ответил ДЕЙЛ тема в RF & Microwave Design
Вопрос закрыт. Оказалось, что в данном модуле регистр SPI 16битный и вычитывать нужно 2 байта. -
E22 900M30S не читаются регистры по SPI
ДЕЙЛ ответил ДЕЙЛ тема в RF & Microwave Design
Синхронизация бита по переднему фронту тактирующего импульса. Байт по SPI отправлен, флаг выставлен, далее уже можно поднимать ногу. Сделал задержку перед подъёмом NSS - результат не поменялся. -
E22 900M30S не читаются регистры по SPI
ДЕЙЛ ответил ДЕЙЛ тема в RF & Microwave Design
Частота клоков примерно 400 кГц. -
E22 900M30S не читаются регистры по SPI
ДЕЙЛ опубликовал тема в RF & Microwave Design
Приветствую. Второй день пытаюсь достучаться до данного модуля. Судя по описанию состояния регистров после рестарта, в них должны быть ненулевые значения, которые можно прочитать по SPI. Пытаюсь это сделать, но результат чтения любого регистра 0xAA (Вывод MISO). Почему так? Руководство к модулю Описание команд Анализатор показывает наглядно, что модуль отвечает, но как-то не так. Какие могу быть тонкости при инициализации, чтобы нормально его запустить? В данном случае пытаюсь прочитать регистр 0x0741 Отправляю 0x1D (команда чтения), затем адрес регистра 0x4107 старшим байтом вперёд и назад, затем последний байт пустой, но результат всегда один, а должно быть число 0x24, судя по описанию состояния регистров после старта. -
вопрос по шине SPI
ДЕЙЛ ответил :-) тема в В помощь начинающему
Здесь уже сказали, что резистор нужен для устранения звона по фронтам. Этот звон теоретически может иметь амплитуду в 2 раза больше логического уровня, что может пробить затвор внутреннего транзистора. Для полевых транзисторов (10-20 Ампер) ставят резисторы с номиналом 10-20 Ом. Полагаю, что тут нужно 1-2 Ома. В любом случае нужно посмотреть осциллографом на разных частотах. -
фигурные скобки в Си
ДЕЙЛ ответил addi II тема в Программирование
иногда скобки ставят для возможности объявления переменной в середине функции, если это улучшит удобство чтения кода: код; код; код; код; { int tmp = XXX; код; код; } //в этом месте переменная tmp не видна; код; -
BlueNRG-1, 2. Выключается сторожевой таймер.
ДЕЙЛ ответил ДЕЙЛ тема в ARM, 32bit
В пошаговой отладке в железе ничего не виснет. При наличии прошивки отладка возвращается в точку останова в начало кода загрузчика. При отсутствии прошивки отладчик куда-то убегает и никогда не возвращается в начало загрузчика. -
BlueNRG-1, 2. Выключается сторожевой таймер.
ДЕЙЛ ответил ДЕЙЛ тема в ARM, 32bit
Сторожевой таймер включается перед светодиодом. Если светодиод включился, то момент включения WDT пройден. Далее должен циклически перезапускаться и моргать.