Raspberry Pi:Библиотеки/WiringPi/Функции для работы со звуком
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Функции для работы со звуком[1]
Библиотека WiringPi содержит функции для программного обработчика звука, способного выдавать простой звуковой (прямоугольный) сигнал на любом GPIO-контакте Raspberry Pi.
Но есть и некоторые ограничения... Чтобы не нагружать CPU, минимальная ширина импульса составляет 100 мкс. В итоге максимальной частотой может быть: 1 / 0,0002 = 5000 Гц.
Также обратите внимание, что хотя эти функции запускают себя с более высоким приоритетом или с приоритетом реального времени, Linux все равно может влиять на точность генерируемого сигнала.
Впрочем, несмотря на ограничения, с помощью этих функций можно издавать звуки на пьезодинамиках и динамиках с высоким импедансом.
Чтобы использовать эти функции, напишите в начале своей программы следующее:
#include <wiringPi.h>
#include <softTone.h>
Компилируя программу, вы должны будете подключить, помимо WiringPi, библиотеку pthread:
cc -o myprog myprog.c -lwiringPi -lpthread
Инициализировать WiringPi можно при помощи функций wiringPiSetup(), wiringPiSetupGpio() и wiringPiSetupPhys(). Функция wiringPiSetupSys() недостаточно быстра, поэтому вам нужно будет запускать программы при помощи sudo.
Итак, для работы со звуком в WiringPi есть следующие функции:
Примечания
- Каждый контакт, активированный для работы со звуком, использует примерно 0,5% ресурсов CPU.
- Чтобы выдача ШИМ не прекращалась, программа должна оставаться в запущенном состоянии.