Я ищу некоторую помощь с проблемой реализации, с которой сталкиваюсь. Я опытный программист C/C++ во встроенных средах и RTOS, но когда дело доходит до linux, я новичок.
У меня есть beaglebone black, работающий с Debian. Мне нужно регистрировать и обрабатывать данные от датчиков, подключенных к шине I2C и АЦП. Я написал функции обработчика для сбора данных от подключенных датчиков, без проблем, они работают нормально. Я хочу реализовать (подобно RTOS) прерывание таймера, которое может передать процесс моим функциям обработчика, чтобы они могли делать свои вещи, и я хочу, чтобы это выполнялось в фоновом режиме. т.е. я не хочу связывать оболочку или что-то еще, чтобы пользователь мог делать другие вещи. Я читал, что timer_create - это способ сделать это в Debian или использовать fork() -exec(), но я подумал, что сначала попрошу людей, знакомых с Linux, прежде чем идти по любому пути! Кроме того, не на 100% уверен, как использовать любую из этих функций.
Замечание: я знаю, что таймеры и т.д. не очень точны в Linux, если вы не используете упреждающие ядра или что-то еще, что является целой другой проблемой само по себе, но временные ограничения этой проблемы находятся где-то около 10-50 мс, что не очень плотно.
благодаря
чтобы сделать процесс демона, просто возьмите это как ссылку: