因为个人喜爱想研究单片机,但是不太会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