Любой который может работать как вход, и наверное для простоты не участвующий в процессе загрузки и прошивки (чтобы можно было вольно обращаться с подтяжками) io4,5,12,13,14. Можно и другие но с этими возни меньше.Подскажите пожалуйста какой пин лучше выбрать для внешнего прерывания
"Дернуть за ногу...". Например подтянутой резистором к питанию ногой коснуться земли... ну кнопка или по внешнему сигналу транзистор открыть...и как вызвать само прерывание
Вопросом на вопрос: а какая нужна точность? Если так, более менее... читаете системный таймер, прибавляете к нему число микросекунд в секунде (если надо секунду) и сохраняете в переменной. Потом в начале общего цикла проверяете опять таймер и если он больше чем сохраненное значение выполняете свою задержанную задачу. Иначе пропускаете ее. Если нужна супер точность - внешние часы на одну из ног и по прерыванию выполняете свою задачку.И как вызвать задержку скажем 100мс. или 1000мс.
Смотря что будет в обработчике. Если просто сохранение какого то значения где-то - то без проблем, а если вы внутри прерывания еще и по wifi чего нибудь посылать собрались - разумеется нет. Ну и по середине широкая зона "может быть".сможет нормально работать WiFi и внешнее прерывание до 50Гц
Инкремент переменной 32бит.сохранение какого то значения где-то - то без проблем
Это я знаю прекрасно . Я наверное некорректно вопрос задал.."Дернуть за ногу...". Например подтянутой резистором к питанию ногой коснуться земли... ну кнопка или по внешнему сигналу транзистор открыть...
Нужно довольно точно .Вопросом на вопрос: а какая нужна точность?
#define MAC_TIMER64BIT_COUNT_ADDR 0x3ff21048
uint64 ICACHE_FLASH_ATTR get_mac_time(void)
{
union {
volatile uint32 dw[2];
uint64 dd;
}ux;
volatile uint32 * ptr = (volatile uint32 *)MAC_TIMER64BIT_COUNT_ADDR;
ux.dw[0] = ptr[0];
ux.dw[1] = ptr[1];
if(ux.dw[1] != ptr[1]) {
ux.dw[0] = ptr[0];
ux.dw[1] = ptr[1];
}
return ux.dd;
}
esp8266web/ovls/tcp_client at master · pvvx/esp8266web · GitHubPvvx , спасибо за ответ! Скажите , а как в Вашем проекте (TCP<>UART) отправить POST запрос на сервер? Можно простой пример кода ?
Уважаемый PVVX ! И как в этом примере отправить пост запрос и потом принять ответ сервера?
err_t ICACHE_FLASH_ATTR tc_listen(TCP_SERV_CONN *ts_conn) {
#if DEBUGSOO > 1
tcpsrv_print_remote_info(ts_conn);
os_printf("send %d bytes\n", sizeof(tc_get)-1);
#endif
return tcpsrv_int_sent_data(ts_conn, tc_get, sizeof(tc_get)-1);
}