bcm 2835 init工作正常,所有GPIO和bcm2835_delay等也是如此。
RPi 4和Pi 400,Raspbian“Bullseye”,bcm 2835 1.71,Libcap安装,添加程序名称等
我使用Geany gcc -Wall -o“%e”“%f”-pthread $(pkg-config gtk+-3.0 --cflags --libs)-export-dynamic**-l bcm 2835 -l png-DBCM2835_HAVE_LIBCAP**编译
代码如下:
// bcm_timer.c
//
// Example program for bcm2835 library system time
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <errno.h>
#include <bcm2835.h>
uint64_t now = 0;
uint64_t then = 0;
uint rescode = 0;
int main(int argc, char **argv)
{
// Init GPIO
if ( ! bcm2835_init() )
{
printf("Fail 0x%X ", errno);
return -1;
}
then = bcm2835_st_read();
bcm2835_delay(500);
now = bcm2835_st_read();
printf("Then = 0x%lluX, Now = 0x%lluX \n", then, now) ;
bcm2835_close();
return 0;
}
字符串
下面是输出:
xxx@raspberrypi:~/Develop/c/test $ ./bcm_timer
Then = 0x0X, Now = 0x0X
型
1条答案
按热度按时间azpvetkf1#
如果您(或其他人)仍然在寻找这个问题的答案,您需要使用sudo运行您的代码以使bcm2835_st_read工作。
在我的实验中,BME库中的一些东西需要sudo(在i2c和系统计时器中遇到了这个问题),而有些东西不需要(gpio)。是的,很烦人。
希望这对你或某人有帮助。- 毫克