0 голосов
Здравствуйте! На 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-прав, но статические уровни с помощью этой библиотеки выставляются на этом же пине исправно, а вот ШИМ упорно не генерится.
(2 баллов) 1

Пожалуйста, войдите или зарегистрируйтесь чтобы ответить на этот вопрос.

Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.
...