Kaptain.
Telegram /
LinkedIn /
Email /
GIT /
RSS /
GPG /
Заказ печатных плат

№ 4518 В разделах:
Electronics
Programming
от September 17th, 2012,
Ну не люблю я писать каждый раз все руками и поэтому использую готовые библиотеки. Нашел в сети библиотечку для работы с последовательным портом и охренел от говнокода в ней. Простой красивый код был изговнякан какими-то нелепыми массивами и прочими фифтифлюшками. Библиотека по идее многоплатформенная, но я делаю программы только для Linux, то и патчил соответственно только линуксовую часть.
Скачать serial_port_library.tar.lzma
Работать с библиотекой вообще супер просто. Оригинальная документация и код лежат здесь, но я переписал немножко код и поэтому документация стала чуть менее актуальной.
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include "rs232.h"
int main(void) {
printf("Configuring...\n");
int BAUD=9600;
char* PORT="/dev/ttyACM0";
unsigned char my_byte;
printf("Opening serial port...\n");
if(OpenComport(PORT, BAUD))
{
printf("Can not open comport\n");
return(1);
}
printf("Sending byte sequence...\n");
my_byte = 0x30;
SendByte(my_byte);
my_byte = 0x0A;
SendByte(my_byte);
my_byte = 0x32;
SendByte(my_byte);
my_byte = 0x33;
SendByte(my_byte);
my_byte = 0x34;
SendByte(my_byte);
printf("Closing serial port...\n");
CloseComport();
return 0;
}
Послать байт, принять байт… ваще ноль сложностей!
Fortune cookie: "I'm not against women. Not often enough, anyway." -- NPR
А есть библиотеки для работы на Symbian OS. Уже около месяца ищу.
не видел. помоему симбиан это уже извращенная некрофилия.
Возможно ли отправить строку в порт и вывести ответ на экран если да то как?
Я делаю printf в порт устройство выполняет команду но ответа я не вижу в терминале хотя устройство возвращает ответ.
а с чего вы взяли, что вывод будет, если вы посылаете данные, но даже не пытаетесь читать ответ?
Каким образом читать ответ ? и возможно ли вашим классом отправить строку и параллельно читать ответ ?
Никаким образом ответ не прочитать. Функцию чтения нужно реализовывать самостоятельно. Вы могли бы это понять сами, если бы открыли код и как минимум посмотрели.