如何使用c#编写单片机程序

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用c#编写单片机程序相关的知识,希望对你有一定的参考价值。

因为个人喜爱想研究单片机,但是不太会c,然后再找资料研究有没有其他的方法发现国外的c# nanoframework 框架可以编写单片机程序,本文我将会用自己踩过的坑来总结一些c#编写单片机的一些经验,希望帮到热爱c#的xd 

首先第一步我们需要准备材料:

 1. esp32 板子 支持wifi蓝牙的esp32板子,和安卓数据线如图:

        

 2. 然后准备vs code, 和vs2022,本文将用vs2022做教程

准备好以后将esp32设备和电脑连接(安卓线连接)

开始搭建esp32的nanoframework 开发环境

打开vs code然后点击扩展

搜索 nanoframework 然后安装 

 

 安装完成以后;打开vs2022,点击继续但无需代码

点击管理扩展

 搜索并安装nanoframework扩展,安装完成以后关闭整个vs2022

关闭vs2022以后后弹出这个安装扩展的界面点击安装

 

 漫长的等待安装

安装完成重新打开vs2022

 

 然后点击创建新项目

 搜索nanoframework,然后点击第一个然后点击下一步

 创建项目Demo示例点击创建

 

依次点击视图=》其他窗口=》Device Explorer 

点击设置

全部点击两边全部点击(COM port black list:表示屏蔽COM)

 

 然后关闭设置;我们在来到vs code中 

找到刚刚vs2022创建的项目路径 并打开

 

安装c#的vscode扩展 

 注意!请先安装esp32驱动程序 

ESP32链接:https://pan.baidu.com/s/1V90LMRk13ZaUMJxM2teXbw

提取码:ztip

复制一下GitHub镜像 nanoframework/nf-interpreter: nanoFramework Interpreter, CLR, HAL, PAL and reference target boards (github.com)https://github.com/nanoframework/nf-interpreter

安装 .NET nanoFramework固件闪存

dotnet tool install -g nanoff

成功安装后,将显示一条消息,显示用于调用该工具的命令以及安装的版本。类似于以下示例:
You can invoke the tool using the following command: nanoff
Tool 'nanoff' (version '9.9.9') was successfully installed.

安装路径问题

⚠️当安装在包含变音符号的路径中时,运行STM32设备命令的已知问题。这是由 STM32 多维数据集编程器中的一个已知错误引起的。例如,如果您的用户路径是这种情况,则必须将其安装在具有这些路径的位置。若要实现此目的,请使用以下 .NET Core CLI 命令,该命令指定了将安装该工具的路径:nanoff

dotnet tool install nanoff --tool-path c:\\a-plain-simple-path-to-install-the-tool

请注意,如果您不与 STM32 设备一起使用,则此限制不适用。

更新 .NET nanoFramework固件闪存

要更新 .NET nanoFramework固件 Flasher 工具,请使用以下 .NET Core CLI 命令:

ESP32 使用示例

有多个 ESP32 映像可用,其中一些是专门为目标构建的。请查看列表

ESP32_PSRAM_REV0映像仅适用于 ESP32 系列的任何变体(带或不带 PSRAM)以及所有芯片修订版。您可以在此处阅读有关各种图像之间的差异的更多信息。

FEATHER_S2图像仅适用于暴露嵌入式 USB CDC 引脚的 ESP32-S2 系列的几乎所有变体。您可以在此处阅读有关各种图像之间的差异的更多信息。

使用时,您可以添加以使用特定图像。相反,如果您只是指定平台,则将根据所连接设备的功能选择最合适的图像。将显示与此类似的输出,以建议将要使用的图像:nanoff--target MY_TARGET_NAME_HERE--platform esp32nanoff

No target name was provided! Using 'ESP32_REV0' based on the device characteristics.

某些 ESP32 开发板在进入引导加载程序模式时出现问题。这通常可以通过按住主板中的 BOOT/FLASH 按钮来克服。如果检测到这种情况,将显示以下警告:

*** Hold down the BOOT/FLASH button in ESP32 board ***

更新 ESP32 目标的固件

要将连接到 COM31 的 ESP32 目标的固件更新到最新的可用开发版本。

nanoff --update --target ESP32_PSRAM_REV0 --serialport COM3

使用本地 CLR 文件更新 ESP32-S2 KALUGA 1 的固件

使用本地 CLR 文件(例如从内部版本)更新连接到 COM31 的 ESP32-S2 KALUGA 1 目标的固件。此文件必须是具有来自生成的有效 CLR 的二进制文件。不会对文件内容执行任何其他检查或验证。

nanoff --update --target KALUGA_1 --serialport COM31 --clrfile "C:\\nf-interpreter\\build\\nanoCLR.bin"

显示已连接 ESP32 设备的详细信息

显示连接到 COM31 的 ESP32 设备的详细信息。

nanoff --platform esp32 --serialport COM31 --devicedetails

nanoFramework固件闪存工具官方

nanoframework/nanoFirmwareFlasher:🧰 nano firmware flasher (.NET nanoFramework toolbox) (github.com)

链接:https://pan.xunlei.com/s/VMrXz6nf9tQBsdoKxOm_nYccA1
提取码:eidf

迅雷云盘下载这个固件然后解压到D:\\

nanoff --update --target KALUGA_1 --serialport COM31 --clrfile "D:\\nanoCLR.bin"

运行烧录程序烧录固件进去等待成功然后进入vs code

按住ctrl+shift+p ;然后搜索nanoframework 点击nanoframework flash device

等待一小会就会弹框

 安装自己的esp32安装我安装是红色框框的 

 

 

 

固件烧录完成

然后打开vs2022这个时候我们就可以看到设备了然后点击运行

好了运行完成 

 有喜欢c#单片机研究的朋友可以加我的q:239573049

以上是关于如何使用c#编写单片机程序的主要内容,如果未能解决你的问题,请参考以下文章

C#编写上位机使用UDP给单片机发送Json格式数据(完整程序)

用c#实现编写esp32单片机获取DHT11温度传感器参数

C#编写上位机使用UDP给单片机发送Json格式数据

具有不同变体架构的产品

c# 绘制正负坐标轴,代码怎么编写?最好详细点

想用c#编写上位机,是否要学wpf的编程?有没有好的教材推荐?