首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BCM2835覆盆子Pi 4

BCM2835覆盆子Pi 4
EN

Stack Overflow用户
提问于 2020-07-24 19:10:04
回答 1查看 864关注 0票数 0

我正在使用bcm2835 1库,它是有效的,我可以在终端上看到如何绘制来自传感器的126数据信息,但从那时起,我会收到以下信息:

代码语言:javascript
复制
bcm2835_init: gpio mmap failed: Cannot allocate memory

有没有人知道问题是什么或者如何解决它?我认为这是由于库,但不确定如何解决它。我使用SPI接收数据

代码语言:javascript
复制
#include <bcm2835.h>
#include <stdio.h>
char n = 0;

void escriure_csv(char valor){

}
int main()
{   
    FILE * fp;
    fp = fopen ("file.csv", "w+");
    
    for(int i=0;i<130;i++){
    
    bcm2835_init();
    bcm2835_spi_begin();
    
    bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST);
    bcm2835_spi_setDataMode(BCM2835_SPI_MODE0);                   
    bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_1024);
    bcm2835_spi_chipSelect(BCM2835_SPI_CS0);                      
    bcm2835_spi_setChipSelectPolarity(BCM2835_SPI_CS0, LOW);
    
    
    uint8_t send_data = 0xB3; //ens dona igual perque nomès ens interesa el que torna
    uint8_t read_data = bcm2835_spi_transfer(send_data);
    //printf("Read back from SPI: 0x%02X.\n", read_data);
 
    
    //transformem al que volem 
    //els canvis seran mV per lo tant enlloc de *2.5 hi fem fer 2
    uint8_t mV = (read_data*250)/1024; //en cas que tornes un 0 es perque el resultat es - o 0.
    printf("mV: %u\n", mV);
    n+=1;
    fprintf(fp,"%d",mV);
    fprintf(fp,"\n");
    //escriure_csv(mV);
}
    fclose(fp);
    return 0;
}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-25 15:46:25

正如其中一条评论所说的,这里的问题是我在每次迭代中都初始化了SPI,我不得不把它放在for循环之外。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63072376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档