Есть два неких контроллера. У этих контроллеров есть порты(RS485, но не суть), которые соединены между собой. Еще туда же подключены несколько простых устройств на МК. Один контроллер может кидаться байтами, второй контроллер их может принимать. На контроллерах Linux(закрытый чуть более чем полностью) и LUA. Больше ничего нет.
Внимание, вопрос: Как мне в Lua отправить и принять не символ, не строку, а просто байт или несколько байтов в 16-ричном представлении? Т.е. я отправляю 0х15, и на другом контроллере получаю тоже 0x15.
Пока что я промучался час, и получаю все что угодно, но не 0x15. Так и не понял, то ли он при отправке конвертирует его во что-то, то ли при приеме.
Отправка:
require('serial')
port = serial.open('/dev/RS485-2', {
baudrate = 115200,
databits = 8,
stopbits = 1,
parity = 'none',
duplex = 'half'
})
port:write(0x15)
port:close()
Прием:
require('serial')
port2 = serial.open('/dev/RS485-3', {
baudrate = 115200,
databits = 8,
stopbits = 1,
parity = 'none',
duplex = 'half'
})
data = port2:read(1)
byte=string.byte(data)
log(string.format("%o, %x, %d", byte,byte,byte))
port2:close()