2015-03-24 2 views
0

Попробуйте написать к последовательному порту Embedded Linux с помощью FOPEN:Запись в последовательный порт Embedded Linux с помощью Еореп

void send(char * text) { 
    FILE * output; 
    output = fopen("/dev/ttyM0"); 
    if(output != NULL) { 
     fputs(text, output); 
     fclose(output); 
    } 

После примерно 4000 отправляет я только получить нулевой указатель. Нет идей, что не так.

+0

Я считаю, что способ '/ dev/ttyM0' предназначен для использования в том, что вы' open() 'это один раз в вашей программе, а затем всегда используете один и тот же дескриптор файла. Запись данных с использованием stdio на '/ dev/ttyM0' выглядит немного уродливой IMO; Я бы использовал системные вызовы 'open()' и 'write()'. – juhist

+0

Пробовал это также. Тот же результат. Я открываю fd с помощью open(), затем используйте write(). Полчаса. Отправляющие остановки: / –

ответ

0

Я бы использовал открытый системный вызов. fopen - вызов стандартной библиотеки C для буферизованного файла IO.

Смежные вопросы