首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在树莓Pi上包含bcm2853库

在树莓Pi上包含bcm2853库
EN

Stack Overflow用户
提问于 2014-05-13 19:27:00
回答 1查看 5.4K关注 0票数 0

我想在我的覆盆子上开始与C#的SPI通讯。bcm2835库支持所需的命令,如:

  • bcm2835_spi_begin()
  • bcm2835_spi_end()
  • 等。

在C中,您必须使用#include < bcm2835.h >,但在C#中,using bcm2835;不工作。

安装了RaspberryPiDotNet和bcm2835库。

可以使用使用GPIOMem库的bcm2835命令来控制GPIO。

C#如何使用bcm2835的SPI命令?网络上的一切都是为C或C++准备的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-14 15:27:22

如何使SPI在树莓Pi上与C#协同工作

下面是一个完整的教程,如何让它开始工作:

  1. 安装Mono: sudo apt-获取更新sudo apt-获取安装单完整
  2. 安装RaspberryPiDotNet: mkdir gpio_csharp git克隆gpio_csharp cd RaspberryPi.Net/RaspberryPiDotNet构建RaspberryPiDotNet.csproj cp /Debug/raspberryPiotNet.dll /home/pi/gpio_csharp/
  3. 安装bcm2835库: wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.36.tar.gz tar -zxf src 2835-1.36.tar.gz cd src 2835-1.36。/配置使sudo检查sudo使安装cd src cc -共享src 2835.o -o csharp 2835.so /home/pi/gpio_csharp/
  4. 删除未使用的文件和文件夹:使用此命令,您可以删除创建的文件夹和文件,但不要删除"gpio_csharp": rm -r rm
  5. 创建一个C#脚本: nano /home/pi/gpio_csharp/xxxx.cs //xxxxx是您的文件名CTRL +X//,用于退出和保存脚本。
  6. 在脚本中添加SPI命令: (将其添加到程序的"class“空间中) DllImport(“spi_end 2835.so”,EntryPoint = "bcm2835_spi_begin")静态extern spi_begin();DllImport(“spi_end 2835.so”,EntryPoint = "bcm2835_spi_end")静态extern spi_end();DllImport(“spi_end 2835.so”,EntryPoint = "bcm2835_spi_transfer")静态extern字节spi_transfer(字节val);DllImport(“spi_end 2835.so”,EntryPoint = "bcm2835_spi_chipSelect")静态外接字节spi_chipSelect(GPIOPins pin);DllImport(“static 2835.so”,EntryPoint = "bcm2835_spi_setClockDivider")静态外接字节spi_setClockDivider(int val);DllImport(“static 2835.so”,EntryPoint = "bcm2835_spi_setDataMode")静态外接字节spi_setDataMode(int val);DllImport(“static 2835.so”,EntryPoint = "bcm2835_spi_setChipSelectPolarity")静态外接字节spi_setChipSelectPolarity(GPIOPins pin,bool activeHigh);
  7. 在代码中使用命令: 现在,您可以使用以下命令来使用SPI。示例在页面下面。 spi_begin();spi_end();spi_transfer();spi_chipSelect();spi_setClockDivider();spi_setDataMode();spi_setChipSelectPolarity();

示例:

代码语言:javascript
复制
 //SPI Try     spi\_setClockDivider(128);     spi\_setDataMode(0);     spi\_chipSelect(cs);     spi\_setChipSelectPolarity(cs, false);     spi\_begin();     spi\_transfer(0xAA);     spi\_end();
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23639895

复制
相关文章

相似问题

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