Raspberry Pi:Библиотеки/WiringPi/Функции для работы со звуком: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 17: | Строка 17: | ||
Чтобы использовать эти функции, напишите в начале своей программы следующее: | Чтобы использовать эти функции, напишите в начале своей программы следующее: | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
#include <wiringPi.h> | #include <wiringPi.h> | ||
#include <softTone.h> | #include <softTone.h> | ||
Строка 24: | Строка 24: | ||
Компилируя программу, вы должны будете подключить, помимо [[Raspberry Pi:Библиотеки/WiringPi|WiringPi]], библиотеку '''pthread''': | Компилируя программу, вы должны будете подключить, помимо [[Raspberry Pi:Библиотеки/WiringPi|WiringPi]], библиотеку '''pthread''': | ||
<syntaxhighlight lang="bash | <syntaxhighlight lang="bash"> | ||
cc -o myprog myprog.c -lwiringPi -lpthread | cc -o myprog myprog.c -lwiringPi -lpthread | ||
</syntaxhighlight> | </syntaxhighlight> |
Версия от 18:13, 14 мая 2023
Содержание | Введение | Продукты | Операционная система | Настройка | Основы 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.
- Чтобы выдача ШИМ не прекращалась, программа должна оставаться в запущенном состоянии.