Tx Rx Arduino uno

Прежде всего позвольте мне поблагодарить вас всех, вы мне очень помогли. Итак, моя проблема следующая: у меня есть счетчик заметок, мне нужно прочитать данные с машины на Arduino в виде байтов или ascii, просто некоторые читаемые данные. Машина подключена к Arduino через 2 контакта, tx и rx, и данные, которые я получаю, не читабельны и кажутся странными, и еще один вопрос, нужен ли мне какой-то последовательный шил или нет? Потому что прямо сейчас он подключен к всего 2 провода. Спасибо

#include <AltSoftSerial.h>

// AltSoftSerial всегда использует эти контакты:
//
// Board          Transmit  Receive   PWM Unusable
// -----          --------  -------   ------------
// Teensy 3.0 & 3.1  21        20         22
// Teensy 2.0         9        10       (none)
// Teensy++ 2.0      25         4       26, 27
// Arduino Uno        9         8         10
// Arduino Leonardo   5        13       (none)
// Arduino Mega      46        48       44, 45
// Wiring-S           5         6          4
// Sanguino          13        14         12

AltSoftSerial altSerial;

void setup() {
  Serial.begin(9600);
  while (!Serial) ; // ждем, пока откроется последовательный монитор Arduino
  Serial.println("AltSoftSerial Test Begin");
  altSerial.begin(9600);
}
byte rx_byte =0 ;
char text ;
char hex;
void loop() {
  if (altSerial.available()) {
    // получаем байт из последовательного порта программного обеспечения


   rx_byte = altSerial.read();
    // отправляем байт в последовательный порт программного обеспечения
    //altSerial.println(text);
  Serial.print(rx_byte, HEX);

}
     //Serial.println("TUKA SUM");
      //text = altSerial.read();

    //hex=(text);

  //Serial.print(text); 
    //Serial.write(text);
  // Serial.println(text);

, 👍0

Обсуждение

Что такое код? И что за странный вывод?, @Michel Keijzers

Укажите ссылку на счетчик банкнот, который вы используете., @Majenko

Почему вы используете программный последовательный порт, а не «аппаратный»? Каков результат? А ты уверен, что 9600 это правильная скорость?, @Michel Keijzers

Начало тестирования AltSoftSerial 00FE0F00000000000000000000000000000140B50000000000000000009C000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000083000830000B4AFB400002F90008000007F0042000091000E700E2FF00000F001E00FE0080000000000007DFC 00F0000000008000FF, @Ivanh23

Вот что я получаю, ссылка http://souqmega.com/product/nc3500-ma-value-counting-machine/, @Ivanh23

и да, я уверен, потому что я могу установить скорость передачи данных в машине,, @Ivanh23

Картинка бесполезна. Есть ли руководство или таблица данных, на которые можно дать ссылку?, @Majenko

Соединение с машиной осуществляется через UART или RS-232?, @Majenko

скорость передачи чего? контакты RX и TX предназначены для внешнего дисплея, @Juraj

https://manualzz.com/doc/6360685/nc-3500-series-multi-currency-banknote-counter, @Juraj

Вы используете 9-контактный или 5-контактный порт?, @Majenko

попробуйте поменять местами контакты tx и rx, у меня сработало после замены этих контактов, @NaveenVelusamy

Я использую 9-контактный порт, и от tx и rx на последовательном кабеле я подключаю их к rx и tx на Arduino или к 8 и 9 в эскизе, на Arduino нет шилда для последовательного кабеля, просто два провода., @Ivanh23

Вы по-прежнему просто печатаете удобочитаемые шестнадцатеричные символы, как и в ваших предыдущих вопросах. И ваш вывод состоит только из символов, которые используются для представления шестнадцатеричных значений в удобочитаемой форме. Так какого результата вы от него ожидали? Насколько я вижу код, вы не можете получить другой результат, кроме этого шестнадцатеричного преобразования., @chrisl


1 ответ


Лучший ответ:

0

9-контактный порт предназначен для подключения к принтеру. Он использует протокол RS-232, а не UART.

Вы не можете подключить его напрямую к Arduino — необходимо подключить его через плату адаптера MAX232.

Немедленно отсоедините кабель — уровни напряжения RS-232 могут привести к необратимому повреждению Arduino.

,

Да, я где-то видел это, я это обнаружил, так что, в заключение, нет возможности использовать только два провода от последовательного кабеля к tx и rx на Arduino?, @Ivanh23

Неа. Вам необходимо преобразовать уровни напряжения от -10В/+10В до +5В/0В., @Majenko

Так что без платы адаптера MAX232 я могу делать то, что хочу. Хорошо, большое спасибо., @Ivanh23