• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Недавнее содержимое от Alexey_new

  1. A

    Web-свалка на RTL871x

    Продолжаю разбираться с серверной частью, дошел до WebSocket-а. Не понятно, зачем там сделан регулярный обмен текстовыми сообщениями клиента с сервером ("ws:ping" - "ws:pong")? Каждые 2,5сек. Вроде бы они не нужны, или без них будут проблемы?
  2. A

    Таймер иногда не перезапускается

    Не нашел в описаниях 16550 отдельного разрешения прерывания по паузе FIFO. Есть просто включение FIFO, у меня оно выполняется при вызове serial_rx_fifo_level(&sobj, 0); при этом в RUART_FIFO_CTL_REG_OFF пишется (RUART_FIFO_CTL_REG_DMA_ENABLE | RUART_FIFO_CTL_REG_FIFO_ENABLE), в моем случае...
  3. A

    Таймер иногда не перезапускается

    Прочитал про прерывание после паузы в 4 символа тут , но так и не понял как это можно использовать. У меня прерывание после приема каждого символа, serial_rx_fifo_level(&sobj, 0); Пробовал ждать 4 символа после последнего принятого, дополнительного прерывания не получал. Можно ли его вообще в...
  4. A

    Таймер иногда не перезапускается

    Да, вызывается в разных прерываниях. Сделал лог вызова, наложения прерываний нет. Видимо придется искать другой вариант реализации, если есть прерывание по тишине, буду его использовать. И в остальном от таймеров откажусь, хотя это и странно, что оно не работает. Все эти таймерные функции уже по...
  5. A

    Таймер иногда не перезапускается

    У меня времена - единицы мс, т.е. слишком короткими для таймера с тиком 30мкс они не являются. После остановки gtimer_stop(...); таймер сбрасывается. Если сразу после запуска gtimer_start_periodical(...); прочитать значение в таймере gtimer_read_tick(...) получится 0xffffffff. Похоже он таким...
  6. A

    Таймер иногда не перезапускается

    Сделал прием-передачу по СОМ, похоже на modbus, окончание приема определяю по паузе. Паузу определяю с помощью таймера. При приеме каждого байта делается gtimer_stop(...); gtimer_start_periodical(...); Все работает, может час проработать, но потом таймер не переинициализируется, т.е. начинает...
  7. A

    Web-свалка на RTL871x

    Позвольте с Вами все же не согласиться. Простое преобразование типов уберет ошибку компиляции, но оставит ошибку по сути. Возьмем для примера: analogin_read вызов RtkADCReceiveBuf с ошибочным аргументом Вы утверждаете, что там все нормально с аргументами. Вот весь код функции analogin_read...
  8. A

    Web-свалка на RTL871x

    Раньше я тут жаловался, что компилятор не замечает детские ошибки в коде. Связано это с тем, что в опциях компилятора указано -w, которое отключает все предупреждения. Мне показалось это не правильным, я вернул предупреждения. Их оказалось так много, что некоторые, достаточно безобидные, на мой...
  9. A

    Web-свалка на RTL871x

    Интересно, зачем использовать RtlUpSemaFromISR и т.п. функции, если можно напрямую пользоваться xSemaphoreGive? Или функции ОС почему-то нежелательно так использовать?
  10. A

    Web-свалка на RTL871x

    Столкнулся с неприятной особенностью компилятора. К самой Web-свалке это вряд ли имеет отношение, скорее к gcc. Написал вот такой код gpio_write(&rts_pin, 1); vTaskDelay(1000/portTICK_RATE_MS); gpio_write(rts_pin, 0); Его компилятор молча превратил в такое: 100078ec: 2101 movs...
  11. A

    Переписать произвольный кусок flash используя JLink

    Пока понял только то, что приведенный код для записи флэша не годится, т.к. он для чтения. Прочитать может любой кусок флэша. Попытка разобраться со скриптами JLink-а с помощью интуиции не принесла успеха. Пытался найти на segger.com описание языка этих скриптов, не нашел. Где можно найти это...
  12. A

    Arduino для RTL8710.

    У pvvx получилось, пример там GitHub - pvvx/RTL00_WEB: Simple web server for RTL8710AF только вебсокеты там самодельные, не из SDK. Я еще не дошел до этого этапа.
  13. A

    Переписать произвольный кусок flash используя JLink

    Адрес и размер кратные 4096 - это не проблема. Можно ли записать используя J-Link и приведенный выше скрипт, исправив одну строчку, например так: savebin my_data.bin 0x980D0000 0x10000
  14. A

    Переписать произвольный кусок flash используя JLink

    Можно ли переписать часть флэша, не трогая остальное, с помощью JLink-a? Программно писать флэш возможно, а может уже есть что-то готовое, что бы не изобретать велосипед с квадратными колесами? Если тут изменить адрес (0x98000000) на свой, размер (0x100000) ужать до своего получится записывать...
  15. A

    UARTs RTL00

    От приема байта (это же событие будет и окончанием передачи байта). Таймеры там действительно работают на 32768кГц, причем обработчик прерывания от таймера имеет приоритет SYS_TICK, что наводит на мысль, что все таймеры это производные от системного таймера ОС. Обработчик прерывания от уарта...
Сверху Снизу