Контакты RX и TX на esp32
Привет, ребята, я новичок в этой области, мне очень нужна ваша помощь, я хочу подключить модуль GSM (SIM808) к плате ESP32, используя контакты TX и RX, чтобы контакты были помечены RX и TX, без номера контакта, как на другие, как я могу объявить их в коде. Я уже протестировал код на Arduino Uno на контактах 0 и 1 (RX и TX), и он работает нормально, вот плата, которую я использую: Я уже пробовал использовать контакты 16 и 17, но не помогло. Мне нужно попробовать использовать контакты 40 и 41, как показано на рисунке ниже.
@Hach Rbh, 👍0
Обсуждение2 ответа
Лучший ответ:
Прежде всего, спасибо за предоставленные рекомендации и поддержку. Для новичка в мире Arduino и встраиваемых систем это было чрезвычайно полезно.
Основная проблема, с которой я столкнулся, заключалась в том, что я не знал, как объявить контакты TX и RX в моем коде на C++, особенно когда эти контакты не были помечены номерами GPIO, как другие на моей плате ESP32. После небольшого исследования и прочтения ваших комментариев я узнал, что эти контакты можно просто объявить, используя их номера GPIO, которые указаны на схеме платы.
Например, чтобы использовать RX0 и TX0, их необходимо объявить как 3 и 1 соответственно. Вот пример:
#define RXD 3 //RXD
#define TXD 1 //TXD
HardwareSerial SIM808(2);
void setup()
{
//
//
SIM808.begin(9600, SERIAL_8N1, RXD, TXD);
}
Мне удалось заставить модуль SIM808 работать с помощью этого метода, но я заметил, что система не всегда работает согласованно. Иногда выполнение команд занимает много времени, и мне придется это учитывать.
Я просто хотел выразить благодарность за теплый прием и полезные советы, которые я здесь получил. Это был мой первый пост, и я боялся задать «тупой вопрос». но сообщество оказало только поддержку.
Поскольку я продолжаю узнавать и исследовать больше о встраиваемых системах, я уверен, что вернусь с новыми вопросами и, надеюсь, со временем, со своими ответами!
это очень плохой совет. Вы хотите использовать SoftwareSerial на последовательных выводах оборудования? и этот последовательный порт уже подключен к USB-чипу, который обменивается данными с компьютером. Вы можете использовать Serial2 на контактах RX2/TX2. Serail2 уже существует как объект и инициализирован для контактов. (как уже упоминалось в комментарии под Q), @Juraj
Не используйте SoftwareSerial на устройстве, имеющем достаточно аппаратных последовательных портов для выполнения этой работы., @StarCat
Можете ли вы предоставить дополнительную информацию о SoftwareSerial и HardwareSerial, чтобы помочь мне лучше понять, а также у меня заканчиваются контакты в моем проекте, есть ли какое-либо решение, позволяющее уменьшить количество контактов или использовать одни и те же контакты для нескольких целей?, @Hach Rbh
Хач Рбх, https://en.wikipedia.org/wiki/Bit_banging, @Juraj
На этом сайте очень хорошо объясняется процедура. https://microcontrollerslab.com/esp32-uart-communication-pins-example/
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится., @sempaiscuba
Это ответ только для ссылок, который не одобряется Stack Exchanges, поскольку ссылка может выйти из строя в будущем. Пожалуйста, отвечайте на вопросы ответами, которые *самостоятельны*, возможно, подкреплены ссылкой в качестве дополнительной информации. Хотя теоретически это может ответить на вопрос, [было бы предпочтительно](http://meta.stackoverflow.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. Не стесняйтесь добавлять более полный ответ, который непосредственно отвечает на вопрос., @Nick Gammon
- Как отобразить информацию о шине CAN на веб-сервере EPS32?
- ESP32 - "Детектор Браунаута был активирован" при запуске Wi-Fi
- Почему OTA не работает с платой ESP32-CAM Ai-Thinker?
- ESP32 открывает "captive portal" при подключении
- Аналоговое чтение не работает при использовании WiFi
- Автоматическая веб-страница ESP32 AP
- Чтение данных из Google Таблиц с помощью Nodemcu
- WiFiClient::connected() не работает
«Не сработало» не очень описательно. Пожалуйста, покажите свой код и как вы подключили модуль. Возможно, будет полезно знать, что ESP32 имеет очень гибкую конфигурацию последовательного порта, и последовательный ввод-вывод может быть сопоставлен с большинством контактов GPIO., @StarCat
Tx и Rx используются последовательным портом для вашего последовательного монитора. В отличие от Arduino Uno, у которого есть только один последовательный порт, у ESP32 их 3. Вы можете использовать TxD2 (GPIO17) и RxD2 (GPIO16) для подключения к вашему модулю SIM808. Вы используете порт с
Serial2.begin(115200)
., @hcheung