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

Результаты поиска

  1. S

    SPI

    Обнаружил что время работы обработчика прерывания hspi зависит от частоты шины spi задаваемой через регистр SPI_CLOCK. Код по прерываниям посылает байты по spi. Время между передачами (CS="1") показывает время обработки прерываний. /* In the master mode, it is the divider of spi_clk. So spi_clk...
  2. S

    Задержки os_event

    Дуплекс на максимальной скорости кан не вырисовывается уже по пропускной способности spi интерфейса. Имеются ввиду не голые мегабиты spi а с учетом передачи команд и чтения статуса. mcp2515 - контроллер очень плохой, возможно самый плохой кан контроллер из всех производимых. минимально что...
  3. S

    Задержки os_event

    Еще бы понять как менять приоритет прерываний в рамках ограничений SDK и ROM bios. По фронту есть риск пропустить прерывание. Также при работе по фронту сохраняется невозможность разрешения прерываний gpio из обработчика прерваний spi. Я решаю тему CAN-bus 2 WiFi. Частный случай это CAN-bus <->...
  4. S

    Задержки os_event

    В моем случае нужно запретить внутри обработчика прерывания и разрешить при выходе. Сегодня точно убедился что это вложенные прерывания. Прерывание от GPIO возникает в момент обработки прерывания SPI. Получается что в обработчике прерываний нельзя разрешать чужие прерывания - они могут...
  5. S

    Задержки os_event

    Упростил тест до циклического обмена только по hspi в прерывании. hspi сам по себе работает стабильно с циклом обращений 5,6us (1,6us обмен по spi и 4us обработчик прерывания). Добавление в работу прерывания по низкому уровню gpio все рушит. Нужны идеи как избежать рекурсии при разрешении...
  6. S

    Задержки os_event

    Написал тест на прерываниях: какое-то время работает а потом перестает срабатывать os_timer, мои прерывания при этом продолжают работать. От периода следования прерываний зависит только время до отвала. При периоде прерываний 18us зависло через 794 секунды. Тест в прерывании по низкому уровню...
  7. S

    Задержки os_event

    Переделал. Код: void mcp_int_handler(void* *para) { uint32_t time = system_get_time(); uint32_t gpio_status = GPIO_REG_READ(GPIO_STATUS_ADDRESS); if (gpio_status & BIT(MCPINT_PIN)) { //disable interrupt gpio_pin_intr_state_set(GPIO_ID_PIN(MCPINT_PIN)...
  8. S

    Задержки os_event

    Уберу ets_uart_printf и проверю еще раз. 14664 микросекунды. Выше тоже 700мкс а не 700мс.
  9. S

    Задержки os_event

    Планирую использовать os_event для посылки сообщений от обработчика прерывания. Провел замеры времени от посылки до получения и чешу репу. Код такой: void mcp_int_handler(void* *para) { uint32_t time = system_get_time(); uint32_t gpio_status = GPIO_REG_READ(GPIO_STATUS_ADDRESS)...
  10. S

    Разработка ‘библиотеки’ малого webсервера на esp8266.

    И как это обходить ? Не работать самостоятельно с uart ?
  11. S

    SPI

    На основе кода от Perfer запустил HSPI в режиме мастер, научился использовать аппаратную выдачу команд и аппаратный CS. Теперь надо подключить прерывания. Кто нибудь прерывания от HSPI использовал ? Насколько я понял вектор у SPI и HSPI один. В примере обработчика прерываний SPI проверяют биты 4...
Сверху Снизу