serial
- Робота з UART1
Функції для читання/запису даних з UART1 Підключення до UART1 здійснюється через піни RX 47 та TX 48, які знаходяться на роз’ємі розширення.
Приклад:
1local buffer = 'a'
2local up, down = false, false
3
4function lilka.init()
5 serial.begin(115200);
6end
7
8function lilka.update(delta)
9 while serial.available() > 0 do
10 buffer = buffer .. serial.read(serial.available())
11 if string.len(buffer) > 40 then
12 console.print(buffer)
13 buffer = 'a'
14 end
15 end
16
17 local keyboard = controller.get_state()
18 if keyboard.up.pressed or keyboard.down.pressed then
19 serial.print("button: ")
20 if keyboard.up.pressed then
21 serial.println("up")
22 elseif keyboard.down.pressed then
23 serial.println("down")
24 end
25 end
26 if keyboard.b.pressed then
27 util.exit()
28 end
29end
30
31function lilka.draw()
32 display.fill_screen(display.color565(0, 0, 0))
33 display.set_cursor(20, 20)
34 display.print(buffer)
35end
- class serial
- static available()
Перевіряє кількість доступних байтів для читання.
- Return type:
integer
Usage:
1local bytesAvailable = serial.available() 2print("Available bytes:", bytesAvailable)
- static begin(baud, config)
Ініціалізує послідовний порт із заданими параметрами.
- Parameters:
baud (
integer
) – швидкість передачі даних (за замовчуванням 115200)config (
integer
) – конфігурація порту (за замовчуванням SERIAL_8N1)
Usage:
1serial.begin(9600, serial.SERIAL_8N1)
- static peek()
Читає наступний байт із буфера без його видалення.
- Return type:
integer
Usage:
1local nextByte = serial.peek() 2print("Next byte:", nextByte)
- static print(...)
Пише дані у послідовний порт.
- Parameters:
vararg (
any
) – значення для виведення
Usage:
1serial.print("Hello, ") 2serial.print(123)
- static println(...)
Пише дані у послідовний порт з переходом на новий рядок.
- Parameters:
vararg (
any
) – значення для виведення
Usage:
1serial.println("Привіт, світ!")
- static read(count)
Читає дані з послідовного порту.
- Parameters:
count (
integer
) – максимальна кількість байтів для читання (опціонально)- Returns:
якщо count задано, повертає рядок; якщо ні — окремий байт
- Return type:
str or integer
Usage:
1local data = serial.read(10) 2print("Data:", data)
- static setTimeout(timeout)
Встановлює таймаут для операцій читання/запису.
- Parameters:
timeout (
integer
) – час у мілісекундах
Usage:
1serial.setTimeout(1000)
- static write(...)
Записує дані в послідовний порт.
- Parameters:
vararg (
any
) – дані для запису (рядки, числа тощо)
Usage:
1serial.write("Data") 2serial.write(255)