• .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 core3.1 abp动态菜单和动态权限(思路) (二)
    .net core3.1 abp学习开始(一)
    api.versioning 版本控制 自动识别最高版本
    .netcore 定制化项目开发的思考和实现
    netcore 非注入全局获取配置文件
    linux nginx搭建与使用
    linux docker .net core 从建立网站到预览
    linux 学习 mysql安装到连接
    linux 安装redis及问题收集
    为何说要多用组合少用继承?如何决定该用组合还是继承?
  • 原文地址:https://www.cnblogs.com/kgxk/p/12078609.html
Copyright © 2020-2023  润新知