.NET Core嵌入式编程开关量GPIO(控制2个灯泡交替闪烁)
Posted kgxk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET Core嵌入式编程开关量GPIO(控制2个灯泡交替闪烁)相关的知识,希望对你有一定的参考价值。
一、在树莓派中安装.NET Core运行时
1、到微软的官方站点下载.NET Core运行时 下载地址
2、选择Linux 中的ARM32,如果不需要跑web,可以选择更精简的.NET Core Binaries ARM32。
借助xftp 把下载回来的压缩包送到树莓派里面。
3、把压缩包解压缩处理,并建立软连接,即可安装完成.NET Core
sudo mkdir /usr/share/dotnet(新建文件夹)
sudo tar -xvf dotnet-sdk-3.0.100-linux-arm.tar.gz -C /usr/share/dotnet(解压运行时并复制到相应文件夹)
sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet(并建立软连接)
执行命令看一下.NET Core 安装情况
dotnet --info
4、灯泡接线
通用输出GPO,输出控制信号,常见有推挽输出和开漏输出两种模式,了解即可,非单片机专业无需精通。
-
推挽输出。直接输出高低电平,可以GND+IO 或VCC+IO 两种接线。
-
开漏输出。只能输出低电平或者空,低电平时让电流“漏进来”,常用于外接放大电路控制5V/12V 等场合。
LED 小灯。单片机学习的经典,简单使用,很容易看到效果。有源蜂鸣器。输出低电平时鸣叫。例程中我们直接控制使用两个IO 口作为输出,分别控制LED 小灯和蜂鸣器,也可以是两个小灯。接线方案如下,选择GPIO17 和GPIO23,也就是板子的11 脚和16 脚(如下图)。这两个脚附近都有GND,方便接线。这里选择IO 引脚时一定要注意,强烈建议不要选择有端口复用功能(小括号有写)的引脚,例如GPIO04,这些引脚很可能会产生意想不到的信号。
注意,引脚模块为Logical 时,采用逻辑引脚17 和23,如若选择Board,则代码需要写11 和16。
效果:两个灯交
5、编写.NET Core程序
新建.Net Core 控制台项目,从nuget 引用System.Device.Gpio,在Program.cs中写入以下代码:
using System; using System.Device.Gpio; using System.Threading; namespace ConsoleApp3 { class Program { static void Main(string[] args) { int pin1 = 17, pin2 = 23; using var gpio = new GpioController(PinNumberingScheme.Logical); gpio.OpenPin(pin1, PinMode.Output); gpio.OpenPin(pin2, PinMode.Output); var flag = false; for (int i = 0; i < 200; i++) { var pv1 = flag ? PinValue.High : PinValue.Low; var pv2 = !flag ? PinValue.High : PinValue.Low; flag = !flag; gpio.Write(pin1, pv1); gpio.Write(pin2, pv2); Thread.Sleep(500); } } } }
5、发布并上传至树莓派
然后使用 dotnet XXX.dll 运行程序(注意文件夹如果程序上传到根目录则直接运行,不是跟目录则cd到相应文件夹位置运行)
以上是关于.NET Core嵌入式编程开关量GPIO(控制2个灯泡交替闪烁)的主要内容,如果未能解决你的问题,请参考以下文章