C# 使用.net core 驱动树莓派的IO信号

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

C# 使用.net core 驱动树莓派的IO信号

一共有两排引脚,引脚的顺序定义及功能如下:

C# 使用.net core 驱动树莓派的IO信号

我们就参考两侧的灰色的索引文本就好了,好了,我们来新建项目了,新建一个.Net Core的项目,当然是用最新的VS2019了

C# 使用.net core 驱动树莓派的IO信号

然后安装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 == 1 || mode == 2) { while (true) { Console.WriteLine( "正在写入True值" ); controller.Write( index, System.Device.Gpio.PinValue.High ); Thread.Sleep( mode == 1 ? 1000 : 10000 ); Console.WriteLine( "正在写入False值" ); controller.Write( index, System.Device.Gpio.PinValue.Low ); Thread.Sleep( mode == 1 ? 1000 : 10000 ); } } else { while (true) { Console.WriteLine( "你输入你接下来要写入的值,0代表低电平,1代表高电平" ); int value = int.Parse( Console.ReadLine( ) ); controller.Write( index, value == 1 ? System.Device.Gpio.PinValue.High : System.Device.Gpio.PinValue.Low ); } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwxsgx.html