C# 使用.net core 驱动树莓派的IO信号
如何使用.net core来驱动树莓派的IO信号?是我们的实际项目需求中,可能就会有这种小项目,我们要输出一个IO信号,此处我们拿了树莓派4做测试

一共有两排引脚,引脚的顺序定义及功能如下:
我们就参考两侧的灰色的索引文本就好了,好了,我们来新建项目了,新建一个.Net Core的项目,当然是用最新的VS2019了

然后安装system.Device.GPIO 库,会附带一些库信息。
然后我们写程序:
static void Main( string[] args )
{
Console.WriteLine( "请输入你要控制的针脚:" );
int index = int.Parse( Console.ReadLine( ) ); System.Device.Gpio.GpioController controller = new System.Device.Gpio.GpioController( System.Device.Gpio.PinNumberingScheme.Board );
if(!controller.IsPinOpen( index ))
{
controller.OpenPin( index );
controller.SetPinMode( index, System.Device.Gpio.PinMode.Output );
} Console.WriteLine( "请选择控制模式?输入1是间隔1秒交替变化,输入2是间隔10秒交替变化,输入3是手动控制变化" );
int mode = int.Parse( Console.ReadLine( ) ); if (mode == || mode == )
{
while (true)
{
Console.WriteLine( "正在写入True值" );
controller.Write( index, System.Device.Gpio.PinValue.High );
Thread.Sleep( mode == ? : );
Console.WriteLine( "正在写入False值" );
controller.Write( index, System.Device.Gpio.PinValue.Low );
Thread.Sleep( mode == ? : );
}
}
else
{
while (true)
{
Console.WriteLine( "你输入你接下来要写入的值,0代表低电平,1代表高电平" );
int value = int.Parse( Console.ReadLine( ) );
controller.Write( index, value == ? System.Device.Gpio.PinValue.High : System.Device.Gpio.PinValue.Low );
}
}
}
然后就是发布了,直接发布独立的版本,虽然带了很多的环境,但是省事。

然后把文件都拷贝到树莓派里面

通过万用表的测试发现,树莓派的GPIO针脚的输出为 3.3V 40 ma,驱动能力非常弱。感谢支持。
C# 使用.net core 驱动树莓派的IO信号的更多相关文章
- MySQL官方.NET Core驱动已出,支持EF Core
千呼万唤始出来MySQL官方.NET Core驱动已出,支持EF Core. 昨天MySQL官方已经发布了.NET Core 驱动,目前还是预览版,不过功能已经可用. NuGet 地址:https:/ ...
- NET Core驱动已出,支持EF Core
NET Core驱动已出,支持EF Core 千呼万唤始出来MySQL官方.NET Core驱动已出,支持EF Core. 昨天MySQL官方已经发布了.NET Core 驱动,目前还是预览版,不过功 ...
- 调整 WiFi 驱动设置让 WiFi 信号更稳定
调整 WiFi 驱动设置让 WiFi 信号更稳定 修改 WiFi 驱动中 的设置,将 Power Saving Mode 的值改为 CAM.
- FPGA之IO信号类型深入理解
在FPGA设计开发中,很多场合会遇到同一根信号既可以是输入信号,又可以是输出信号,即IO类型(Verilog定义成inout). 对于inout型的信号,我们既可以使用FPGA原语来实现,也可以使用V ...
- Linux设备驱动中的IO模型---阻塞和非阻塞IO【转】
在前面学习网络编程时,曾经学过I/O模型 Linux 系统应用编程——网络编程(I/O模型),下面学习一下I/O模型在设备驱动中的应用. 回顾一下在Unix/Linux下共有五种I/O模型,分别是: ...
- IO模型浅析-阻塞、非阻塞、IO复用、信号驱动、异步IO、同步IO
最近看到OVS用户态的代码,在接收内核态信息的时候,使用了Epoll多路复用机制,对其十分不解,于是从网上找了一些资料,学习了一下<UNIX网络变成卷1:套接字联网API>这本书对应的章节 ...
- .net core 获取树莓派的机器码,唯一ID,唯一串号
今天在实际开发树莓派程序的时候,碰到了一个问题,需要获取到树莓派的唯一串号信息.必须在.net core的环境下: 那么如何实现呢?我们先查找树莓派的基本信息是储存在哪里的? 我们在下面的路径里找到了 ...
- Mongodb for .Net Core 驱动的应用
一:我在做.net core 应用mongodb的sdk时,查阅了不少资料,故记录下来,以方便查阅.mongodb类库的版本 mongodb driver 2.4.3,一下方法均来自此版本文件 先看看 ...
- 驱动中的IO访问
1,内存空间与IO空间 1)I/O 映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间 ...
随机推荐
- zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: no such file or directory
系统升级为 macOS Catalina 发现 CocoaPods 不管用了. 解决方法: 打开 iTerm2 sudo gem update --system 输入电脑密码,然后 sudo gem ...
- Netty源码分析之ChannelPipeline(二)—ChannelHandler的添加与删除
上篇文章中,我们对Netty中ChannelPipeline的构造与初始化进行了分析与总结,本篇文章我们将对ChannelHandler的添加与删除操作进行具体的的代码分析: 一.ChannelHan ...
- 10个常见的HTTP状态码
目录 500 内部服务器错误 404 文件未找到 403 禁止访问 400 错误请求 401 未经授权 200 请求成功 206 部分内容 301 永久重定向 302 临时重定向 502 无效网关 H ...
- requests库核心API源码分析
requests库是python爬虫使用频率最高的库,在网络请求中发挥着重要的作用,这边文章浅析requests的API源码. 该库文件结构如图: 提供的核心接口在__init__文件中,如下: fr ...
- SpringBoot+Mybatis 实现动态数据源切换方案
背景 最近让我做一个大数据的系统,分析了一下,麻烦的地方就是多数据源切换抽取数据.考虑到可以跨服务器跨数据库抽数,再整理数据,就配置了这个动态数据源的解决方案.在此分享给大家. 实现方案 数据库配置文 ...
- Spring boot如何快速的配置多个Redis数据源
简介 redis 多数据源主要的运用场景是在需要使用多个redis服务器或者使用多个redis库,本文采用的是fastdep依赖集成框架,快速集成Redis多数据源并集成lettuce连接池,只需引入 ...
- socket实现一个简单的echo服务
服务端的实现: public class EchoServer{ //创建一个serverSocket private final ServerSocket serverSocket; //创建一个构 ...
- h5-面试题
干货!各种常见布局实现+知名网站实例分析 前端面试考点多?看这些文章就够了(2019年6月更新版) 前端面试:这50个经典前端面试题面试者必看! Vue面试中,经常会被问到的面试题/Vue知识点整理 ...
- 使用 Python 验证数据集中的体温是否符合正态分布
数据集地址:http://jse.amstat.org/datasets/normtemp.dat.txt 数据集描述:总共只有三列:体温.性别.心率 #代码 from scipy import st ...
- Jomoo的模板
目录 1 杂类算法 1.1 快读模板 1.2 O(1) int64 乘法 2 图论算法 2.1 树类 - Trie 2.2 树类 - 并查集(NB version) 2.3 树类 - LCA 2.4 ...