首页 > 编程语言 >C#开发ESP32E(2)串口配置使用

C#开发ESP32E(2)串口配置使用

时间:2023-05-18 15:44:36浏览次数:49  
标签:Configuration C# COM2 ESP32E SerialPort serialDevice 串口 nanoFramework

1.安装外设配置库(nanoFramework.Hardware.Esp32)和串口使用库(nanoFramework.System.IO)

1.1 nanoFramework.Hardware.Esp32介绍

该库可配置I2C,SPI,Serial ports(串口),PWM channels,ADC、DAC(模数转换和数模转换)

配置函数介绍

Configuration.SetPinFunction(int pin, DeviceFunction value);
通过Configuration的SetPinFunction函数设置外设引脚功能(配置寄存器)
参数1为引脚号,参数2为设备功能

eg:
Configuration.SetPinFunction(16, DeviceFunction.COM2_RX);
设置16号引脚功能为COM2的RX

1.2 nanoFramework.System.IO介绍

核心为SerialPort类,具体用法跟平时C#使用串口通信差不多

查看可用串口
SerialPort.GetPortNames();
返回可用的串口号(不是硬件上的串口号下点详细介绍)

1.3 可用串口

根据官方文档介绍COM1为固定占用用于调试信息了,因此还剩COM2,COM3可用。

实际硬件介绍

我这里对应的COM1是这个Typec口,因此后续查看串口效果改用COM2口。

蓝色区域为COM1固定占用,红色区域为选取的COM2,对应的引脚为16,17。

2.代码使用

完整代码

点击查看代码
public class Program
    {
        static SerialPort _serialDevice;
        public static void Main()
        {
            Configuration.SetPinFunction(16, DeviceFunction.COM2_RX);
            Configuration.SetPinFunction(17, DeviceFunction.COM2_TX);
            Debug.WriteLine("Hello from nanoFramework!");

            // 获取可用串口
            var ports = SerialPort.GetPortNames();

            Debug.WriteLine("Available ports: ");

            foreach (string port in ports)
            {
                Debug.WriteLine($" {port}");
            }

            _serialDevice = new SerialPort("COM2");

            // 设置参数
            _serialDevice.BaudRate = 9600;
            _serialDevice.Parity = Parity.None;
            _serialDevice.StopBits = StopBits.One;
            _serialDevice.Handshake = Handshake.None;
            _serialDevice.DataBits = 8;

            // 设置缓冲区大小
            _serialDevice.ReadBufferSize = 2048;

            // 使用以上设置打开串口
            _serialDevice.Open();

            _serialDevice.WriteTimeout = 500;

            while (true)
            {
                _serialDevice.WriteLine(" hello from nanoFramework!");
                Thread.Sleep(2000);
            }

        }
    }

3.官方文档

3.1 nanoFramework.Hardware.Esp32 API介绍

(https://docs.nanoframework.net/api/nanoFramework.Hardware.Esp32.Configuration.html)

3.2 Esp32介绍

(https://docs.nanoframework.net/content/esp32/esp32_pin_out.html#serial-ports)

3.3 更多代码示例仓库

https://github.com/nanoframework/Samples

标签:Configuration,C#,COM2,ESP32E,SerialPort,serialDevice,串口,nanoFramework
From: https://www.cnblogs.com/hngyElectric/p/17412162.html

相关文章

  • CPU 中通用寄存器的作用
    在计算机的中央处理器(CPU)中,通用寄存器(General-PurposeRegisters)是其中的一个重要组件。通用寄存器是一种高速的内部存储器,用于存储和操作计算机中的数据。它们是CPU的一部分,用于临时存储指令和数据,以支持计算、逻辑操作和数据传输等操作。下面将详细介绍通用寄存器的作用和功能。......
  • switch语句
    #include<stdio.h>#include<stdlib.h>intmain(){ while(1) { charc; c=getchar(); switch(c)//传入参数参数只能是整型变量 { case'1': printf("OK\n"); break; case'2': printf("noOK\n"); ......
  • Custom elements in iteration require 'v-bind:key' directives.
    Customelementsiniterationrequire'v-bind:key'directives.这个错误提示"Customelementsiniterationrequire'v-bind:key'directives"的意思是在循环中使用自定义元素时,需要为每个元素添加v-bind:key指令。......
  • AtCoder Beginner Contest 212 F Greedy Takahashi
    洛谷传送门AtCoder传送门考虑每条边,因为是静态的,所以可以预处理出\(f_{i,j},g_{i,j}\)表示从第\(i\)条边,往后跳\(2^j\)条边,跳到边的编号和目前的时间(如果不存在就当作跳到第\(0\)条边)。直接倍增处理即可。询问就是找到从\(u\)开始的出边,能跳尽量跳。注意一些细节......
  • Arduino读取DHT11,DHT22,SHTC3温湿度数据
    本文章讲解使用NodeMcu开发板读取DHT11、DHT22、SHTC3这三个温湿度传感器的数据并发送至串口。各传感器我都写了使用第三方库和不用第三方库的例程。ESP8266开发环境搭建教程:https://blog.zeruns.tech/archives/526.html文中所用到传感器购买地址在文章最下面。DHT11DHT11是一款有......
  • c#构建具有用户认证与管理的socks5代理服务端
    Socks协议是一种代理(Proxy)协议,例如我们所熟知的Shdowsocks便是Socks协议的一个典型应用程序,Socks协议有多个版本,目前最新的版本为5,其协议标准文档为RFC1928。我们一起来使用.net7构建一个支持用户管理的高性能socks5代理服务端目录协议流程1clie......
  • 如何在windows系统下下载、安装python程序及可视化工具PyCharm
    1、python下载python下载官网:https://www.python.org/http://python.p2hp.com/中文网点击进入官网,进入window下载页面。https://www.python.org/downloads/windows/选择安装版本:推荐下载稳定的老版本,找到相应版本进行下载。这里下载是3.6.8Windowsx86-64embedda......
  • centos7+mariadb安装在线评判系统
    在线评判系统安装:https://gitee.com/yhssdl/lpszoj/blob/master/docs/install.md其他问题升级到php7.4https://blog.csdn.net/zhongliang415/article/details/108640682#:~:text=升级php到php7.4版本1安装版本库yuminstallepel-releaseyum-utils-y,php-gdphp-curlphp-......
  • CPU 中运算器的作用
    在计算机的中央处理器(CPU)中,运算器(ArithmeticLogicUnit,简称ALU)是其中的一个重要组件。运算器是负责执行各种算术和逻辑运算的核心部分,它是计算机进行计算和决策的关键部分。下面将详细介绍运算器的作用和功能。算术运算:运算器能够执行各种算术运算,如加法、减法、乘法和除法。......
  • error Resolve error: @vitejs/plugin-vue requires vue (>=3.2.13) or @vue/compile
    创建Vue3项目时出错error Resolveerror:@vitejs/plugin-vuerequiresvue(>=3.2.13)or@vue/compiler-sfctobepresentinthedependencytree将vue 升级到 [email protected]  版本 执行[email protected] ......