当前位置:首页 > Web开发 > 正文

.NET Core嵌入式编程开关量GPIO(控制2个灯泡交替闪烁)

2024-03-31 Web开发

标签:

一、在树莓派中安装.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个灯泡交替闪烁)

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/39709.html