Noobik
1
Пытаюсь передать символ, но не понимаю почему приходит число 160, а я ожидаю 65, ведь такой код у символа А
SoftwareSerial mySerial(11, 10); // RX, TX
void setup() {
Serial.begin(9600);
while (!Serial) { }
mySerial.begin(9600);
mySerial.print('A');
}
void loop() {
}
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10); // RX, TX
void setup() {
Serial.begin(9600);
while (!Serial) { }
mySerial.begin(9600);
}
void loop() {
if (mySerial.available())
{
Serial.println(mySerial.read());
}
}
160 это русская буква а
Всё норм, что отправили то и получили.
2 лайка
v258
6
Русская буква А - 0xc0 - 192
1 лайк
Noobik
7
При отправке 0-9 все норм
Отправьте char ch=90. Чего принимается?
Noobik
10
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10); // RX, TX
void setup() {
Serial.begin(9600);
char ch=90;
while (!Serial) { }
mySerial.begin(9600);
mySerial.print(ch);
}
void loop() {
}
mykaida
11
Давайте напишем:
for (char ch=1; ch<256; ch++){
mySerial.print(ch);
}
Чего даст?
Noobik
12
Печатает кучу чисел) Тут еще вопрос, почему когда я передаю допустим 10, то он печатает не 49 48, а два раза 152
Noobik
13
Если передаю не 0, а ‘0’, то печатает 152 и тоже самое с ‘1’, тоже 152
mykaida
14
Они идут по порядку? Если нет - то у Вас хреновый контакт где-то…
Да, и главное - земли соединены?
Noobik
15
В тинкеркаде собираю, не по порядку
v258
17
152 - это символ начала строки
В строке №6 кода отправки замените print
на write
.