Hi all, I'm trying to translate a simple C code into a python + ctypes (where need), but I have some problems on char conversion. The code have to work on Linux and talk with the serial port. I think that the problem is that I don't translate correctly the strings.
C code: #define START 0x33 #define RETURN_START 0x22 #define ADDR 0x01 #define WRITE_CMD 0x03 #define ALL_CMD 0xFF ... char buf[10]; char buf_ret[10]; buf[0]=0; buf[0]=START; buf[1]=ADDR; buf[2]=WRITE_CMD; write(_fd, buf, 6); read(_fd,buf_ret,6); It works python: START = 0x33 RETURN_START = 0x22 ADDR = 0x01 WRITE_CMD = 0x03 ALL_CMD = 0xFF lib = C.CDLL('libc.so.6') items = [START, ADDR, WRITE_CMD] buf = C.c_char * 10 buffer_rec = buf() buffer_send = buf(*items) (Here I receive: TypeError: one character string expected) If I do: chr(int()) of every value, it work, but: lib.write(fd, buffer_send, 6) lib.read(fd, buffer_rec, 6) I stay there and block the program execution, until a CTRL+C What can I do? Thanks, Michele -- http://mail.python.org/mailman/listinfo/python-list