LINUX.ORG.RU

История изменений

Исправление Vit, (текущая версия) :

Большое спасибо за ссылки, очень интересно.

(на вопрос номер 3): куб внутри себя приём USART-а не буферизует, поэтому без буферизации узнать, есть ли принятый символ нельзя.

По-моему кто-то из нас что-то путает. В кубе можно как минимум в настройках указать размер serial tx/rx буферов для cdc. Но я чтение пока не копал.

Давай переспрошу иначе. Допустим, на самом низком уровне у меня есть буферы и возможность узнать поступили данные или нет. Как мне уже на верхнем уровне приложения узнать об этом стандартными средствами сишечки, не сваливаясь в драйвер? Чтобы дергать только стандартные методы типа getchar(). Например, чтобы вместо подвисания возвращалась -1 когда данных нет. Это просто пример, я не знаю как правильно, но смысл вроде понятен. Не хочу без нужды в драйверной прослойке дополнительные методы плодить.

Исходная версия Vit, :

Большое спасибо за ссылки, очень интересно.

(на вопрос номер 3): куб внутри себя приём USART-а не буферизует, поэтому без буферизации узнать, есть ли принятый символ нельзя.

По-моему кто-то из нас что-то путает. В кубе можно как минимум в настройках указать размер serial tx/rx буферов для cdc. Но я чтение пока не копал.

Давай переспрошу иначе. Допустим, на самом низком уровне у меня есть буферы и возможность узнать поступили данные или нет. Как мне уже на верхнем уровне приложения узнать об этом стандартными средствами сишечки, не сваливаясь в драйвер? Чтобы дергать только стандартные методы типа getchar(). Например, чтобы вместо подвисания возвращалась -1 когда данных нет. Это просто пример, я не знаю как правильно, но смысл вроде понятен. Не хочу без нужды в драйверной прослойке дополнительные методы плодить.