Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Йожэг
2018-02-11 23:03:20

Если текст переносится по строкам, то это символы CR и LF с кодами 13 и 10 (0D и 0A в шестнадцатиричном формате). Windows использует их парами, тогда как Linux'у и прочим хватает одного из них (гуглите). А экранчик Ардуинки может их просто отображать, а не выполнять.

По остальному надо документацию читать, если ничего не помогает)

pv99
2018-02-05 17:32:54

Дві arduino з'єднані, по стандарту RS485 (як описано тут https://lesson.iarduino.ru/page/urok-26-2-soedinyaem-dve-arduino-po-standartu-rs485/).
Одна передає дані (у моєму випадку температуру). На моніторі послідовного порту це виглядає приблизно так:

19.69
19.94
20.31

Друга читає дані і передруковує їх:

#include <Wire.h>
const uint8_t     PIN_direction_TX_RX = 10; 
void setup(){
  pinMode(PIN_direction_TX_RX,   OUTPUT);
  digitalWrite(PIN_direction_TX_RX, LOW);
Serial.begin(9600);
}
void loop(){
if(Serial.available()>0){
Serial.print(char(Serial.read()));
delay(10);
}}

Ті ж самі дані:

19.69
19.94
20.31

Але у разі роботи з LCD:

void loop(){
if(Serial.available()>0){
lcd.print(char(Serial.read()));
delay(10);
}}

Дані виглядають уже по іншому:

19.69хх19.94хх20.31

де хх - два незрозумілих символи.

Підкажіть, як прибрати ці символи, а замість них кожного разу встановлювати курсор на початок рядка.
Буду дуже вдячний за допомогу

Підвал форуму