Здравствуйте! На Raspberry pi 3 b+ пытаюсь запустить аппаратный ШИМ, для чего использую библиотеку bcm2835.h версии 1.71 и в Geany написал вот такой код на С:
#include <bcm2835.h>
#include <stdio.h>
#define PIN RPI_GPIO_P1_12
#define PWM_CHANNEL 0
#define RANGE 1024
int main(int argc, char **argv)
{
if (!bcm2835_init())
return 1;
bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_ALT5);
bcm2835_pwm_set_clock(BCM2835_PWM_CLOCK_DIVIDER_16);
bcm2835_pwm_set_mode(PWM_CHANNEL, 1, 1);
bcm2835_pwm_set_range(PWM_CHANNEL, RANGE);
int data = 512;
bcm2835_pwm_set_data(PWM_CHANNEL, data);
bcm2835_close();
return 0;
}
В свойствах проекта задал параметры:
Compile: gcc -Wall -c "%f"
Build: gcc -Wall -o "%e" "%f" -lbcm2835
Execute: "sudo" "./%e"
Проект компилируется без ошибок, и ШИМ не появляется... Была мысль, что я неправильно поставил библиотеку или не имею root-прав, но статические уровни с помощью этой библиотеки выставляются на этом же пине исправно, а вот ШИМ упорно не генерится.