如何使用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 命令:

dotnet tool update -g nanoff

如果该工具安装在特定路径上,请改用以下 .NET Core CLI 命令:

dotnet tool update nanoff --tool-path c:\path-where-the-tool-was-installed

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

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: C是一种编程语言,广泛应用于计算机科学和软件开发领域。它由贝尔实验室的丹尼斯·里奇(Dennis Ritchie)于20世纪70年代初开发。 C语言被设计成一种结构化的程序设计语言,其语法简洁、紧凑,易于学习和理解。它具有良好的可移植性,允许开发人员在不同的平台上编写一次代码,然后在不同的操作系统上编译和运行。 C语言广泛应用于系统软件开发,如操作系统、编译器和驱动程序。它还被用于开发应用程序,包括桌面应用程序、嵌入式系统、游戏和图形应用程序等。 C语言的特点之一是其高效的执行速度。由于C语言直接与计算机硬件交互,可以更好地控制内存和处理器资源,因此代码的执行效率较高。 尽管C语言具有许多优点,但它也有一些局限性。首先,C语言的语法相对较低级,需要开发人员更加谨慎地管理内存和指针。其次,C语言缺乏一些高级特性,如面向对象编程和异常处理等,这使得在大型项目中的开发可能相对复杂。 然而,C语言的简洁和高效性使得它成为了许多其他编程语言的基础。许多编程语言,如C++、Java和Python等都受到C语言的影响,并在其基础上发展出更高级的特性和功能。 总的来说,C语言是一种重要的编程语言,它在计算机科学和软件开发领域具有广泛的应用。通过学习和应用C语言,开发人员可以写出高效、可移植的代码,从而实现各种不同类型的软件和系统的开发。 ### 回答2: C是一种高级的编程语言,它于1972年由丹尼斯·里奇在贝尔实验室创建。C语言是一种通用的、面向过程的编程语言,被广泛用于软件开发和系统编程。它在操作系统、嵌入式系统以及一些性能要求较高的应用中都有广泛应用。 C语言具有简洁、高效、可移植的特点。它是一种相对底层的语言,直接与计算机硬件交互,可以对内存和寄存器进行底层的操作。因此,C语言的性能非常高,可以用于开发速度要求较高的应用。 C语言的语法简单明了,语法规则严谨。它提供了丰富的库函数,可以满足程序开发的各种需求。C语言还具有良好的扩展性,可以通过结构体、指针等特性来实现复杂的数据结构和算法。 C语言也为其他高级编程语言的发展奠定了基础。很多高级编程语言的编译器和解释器都是用C语言编写的。并且,许多高级编程语言的语法和特性也借鉴了C语言。 总之,C语言是一种强大而受欢迎的编程语言。它不仅具有高性能和可移植性,还可以实现复杂的数据结构和算法。对于想要学习编程的人来说,掌握C语言是一个非常好的起点,它可以帮助开发出高效、可靠的软件和系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值