T-RSC3 Serial Ports
-
I cannot receive or transmit data from RS232 orRS485 ports.
USB-C port is ok.
I use Serial.begin(9600); for USB port and Serial232.begin(RS485_BAUD, SERIAL_8N1, RS232_RX_PIN, RS232_TX_PIN); for the 232 port.
What is the correct ports for RS232 and RS485 ports, Serial1 or Serial0?Kind regards,
#if CONFIG_FREERTOS_UNICORE #define ARDUINO_RUNNING_CORE 0 #else #define ARDUINO_RUNNING_CORE 1 #endif #include "Arduino.h" #include "HardwareSerial.h" #include <Adafruit_NeoPixel.h> #define Serial232 Serial1 #define RS485_BAUD 9600 #define RS232_RX_PIN 1 #define RS232_TX_PIN 0 #define LED_PIN 4 #define KEY_PIN 2 #define BOOT_PIN 9 #define NUMPIXELS 1 #define DELAYVAL 1000 #define RS485_TX_ENABLE HIGH #define RS485_RX_ENABLE LOW Adafruit_NeoPixel pixels(NUMPIXELS, LED_PIN, NEO_GRB + NEO_KHZ800); bool RS485mode = true; void TaskBlink( void *pvParameters ); void Task_RS485( void *pvParameters ); void Task_RS232( void *pvParameters ); void colorWipe(uint32_t color, int wait); void setup() { Serial232.begin(RS485_BAUD, SERIAL_8N1, RS232_RX_PIN, RS232_TX_PIN); Serial.begin(9600); pixels.begin(); pixels.setBrightness(255); pixels.clear(); delay(100); Serial.println("com6"); Serial232.println("com232"); xTaskCreatePinnedToCore( TaskBlink , "TaskBlink" , 1024 // This stack size can be checked & adjusted by reading the Stack Highwater , NULL , 2 // Priority , NULL , ARDUINO_RUNNING_CORE); xTaskCreatePinnedToCore( Task_RS232 , "Task_RS232" , 1024 // Stack size , NULL , 1 // Priority , NULL , ARDUINO_RUNNING_CORE); } void loop() { vTaskDelay(10); } void TaskBlink(void *pvParameters) { (void) pvParameters; for (;;) { colorWipe(pixels.Color(255, 0, 0), 500); // Red colorWipe(pixels.Color( 0, 255, 0), 500); // Green colorWipe(pixels.Color( 0, 0, 255), 500); // Blue vTaskDelay(5); } } void Task_RS232(void *pvParameters) { (void) pvParameters; for (;;) { while (Serial.available()) Serial232.write(Serial.read()); while (Serial232.available()) Serial.write(Serial232.read()); vTaskDelay(10); } } void colorWipe(uint32_t color, int wait) { for (int i = 0; i < pixels.numPixels(); i++) { pixels.setPixelColor(i, color); pixels.show(); vTaskDelay(wait); } }