Форум сайта python.su
Вот код, я передаю это на Arduino, можно ли как то избежать аски, или как мне потом перевести в int из ASCII, помогите нигде помочь не могут
import os import sys import serial import datetime ser = serial.Serial('COM4', 9600) print(ser.name) print(datetime.datetime.now()) date_string = str(datetime.datetime.now()) date_string = date_string[5:7] + date_string[8:10] + date_string[11:13] + date_string[14:16] + date_string[17:19] DATE = date_string[:4] TIME = date_string[4:8] SEC = date_string[8:] TIME_bytes = TIME.encode('ascii') DATE_bytes = DATE.encode('ascii') SEC_bytes = SEC.encode('ascii') print(DATE) print(TIME) print(SEC) print(date_string) date_bytes = date_string.encode('ascii') ser.write(TIME_bytes) ser.write(DATE_bytes) ser.write(SEC_bytes) print('OK') print(date_bytes) print(len(date_bytes)) ser.close
#include <TFT.h> #include <SPI.h> #define cs 10 #define dc 9 #define rst 8 TFT TFTscreen = TFT(cs, dc, rst); char DATETIME[26]; void setup() { TFTscreen.begin(); Serial.begin(9600); } void loop() { String ComData = String(Serial.parseInt()); ComData.toCharArray(DATETIME, 4); delay(1000); TFTscreen.background(0, 0, 0); TFTscreen.stroke(255, 255, 255); TFTscreen.setTextSize(2); TFTscreen.text(DATETIME, 0, 20); delay(8000); if(Serial.available() > 0){ Serial.print(DATETIME); } }
Отредактировано JOHN_16 (Янв. 9, 2016 13:19:01)
Офлайн
MiMarch
мда…я просто хочу спросить, а к чему вот эта вот конструкция?
MiMarchкак по вашему, какой тут смысл заложен?
TIME.encode('ascii')
MiMarchкажется догадываюсь почему
нигде помочь не могут
Офлайн
JOHN_16Ну да я передаю только в ASCII на другое он ругается, так вот arduino на выходе получает b'1503', вместо 1503, как это исправить?
MiMarchмда…я просто хочу спросить, а к чему вот эта вот конструкция?
Офлайн
MiMarchнет, передает он то что нужно. А после print() выглядит это именно так потому что Питон 3 акцентирует внимание что это набор байтов (т.е. тип данных bytes), а не unicode объект (строка).
b'1503', вместо 1503,
MiMarchтут не в ascii дело, а в том что вы должны передать не строку,а набор байтов, в аспекте терминологии Python3
Ну да я передаю только в ASCII на другое он ругается
Офлайн