使用Visual Studio Code进行MicroPython编程
转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇
Visual Studio Code(以下简称VSCode)是一个轻量且强大的跨平台开源代码编辑器(IDE),支持Windows,OS
X和Linux。内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来支持
C++、C#、Python、PHP等其他语言。
准备工作
- TPYBoard v102 一块
- 可访问网络的Windows系统的电脑(本文以win10为例)
- 已安装VSCode编辑器
VSCode的相关地址
官网地址 https://code.visualstudio.com/
GitHub地址https://github.com/Microsoft/vscode
VSCode IDE下载 https://code.visualstudio.com/?wt.mc_id=vscom_downloads
安装Pycom插件
Pycom插件需要node.js依赖项,所以先要安装node.js。下载地址:https://nodejs.org/en/
安装完成后,通过CMD命令node -v查看node版本号来确定是否安装成功。
打开VSCode,点击左侧菜单栏 *Extensions* 扩展图标,进入插件搜索界面。
输入 *Pymakr* 进行相关插件搜索,点击 *Install* 进行安装。
安装完毕后,关闭VSCode。将TPYBoard v102插入电脑,设备管理器中确认是否已成功加载端口。
再次打开VSCode后,默认会自动打开 *pymakr.json* 配置文件,我们需要进行修改并保存。
接下来把配置文件简化些,保留需要的部分。*pymakr.json* 配置文件内容如下:
{
"address": "COM19",
"username": "micro",
"password": "python",
"sync_folder": "/flash",
"open_on_start": false,
"sync_file_types": "py,txt,log,json,xml,html,js,css,mpy",
"ctrl_c_on_connect": false,
}
Pycom插件:https://marketplace.visualstudio.com/items?itemName=dphans.micropython-ide-vscode
保存后软件右下角的 *TERMINAL* 终端会自动创建一个Pycom Console并自动连接板子的REPL端口。
如何使用
每次启动VSCode时Pycom Console都会自动打开并去连接你设置的端口。
这时,插上开发板后会自动连接。REPL调试与PuTTY用法一样,CTRL+C:停止运行程序 CTRL+D:重新运行程序(软复位)。
接下来,说明下文件下载功能的使用方法。首先,在VSCode左侧的资源管理中新建一个目录创建一个工程,新建一个main.py文件。
写一段简单的控制板载LED的程序用于测试。编写代码时,VSCode会提示错误,这是因为在我们本地没有pyb库,所以错误可以忽略,不影响功能。
from pyb import LED for i in range(5):
LED(4).toggle()
print('-----',i,'-----')
pyb.delay(350)
VSCode工具底部蓝色区域,有关于Pycom插件的几个快捷功能。
- Pycom Console:打开或关闭与板子的链接
- Run:运行当前文件
- Upload:上传工程文件到板子里
- Download:下载板子里的工程文件
点击 *Run* 运行当前的main.py,注意这只是运行一遍而已,并不会把main.py里的代码存储到开发板的FLASH中。
点击 *Upload* 将main.py上传到板子里,上传完毕后板子会自动重启并运行新的程序。这时会提醒你端口断开,不过它会自动连接的。
有时会出现连接失败的情况,出现 > Failed to connect (Error: Port is not open). Click here to try again.提示,这时点击下 *Pycom Console* 就可以了。
接下来试一下 *Download* 的功能,点击后它会提醒你发现了两个文件,是否只下载当前的文件还是全部下载。出现这个提示是因为板子里还有一个boot.py文件。选择那个都可以,这里我们选择全部下载点击Yes。
使用评价
总体来说,还是挺不错的,不仅可以上传文件还可以下载。就是每次操作后,都会进行一次硬件复位,端口断开再重连,感觉不太友好。虽然我们在使用micropython中的模块时没有代码提示补全等功能,但是可以去安装Python插件,至少在使用Python语法和模块时会比较方便。
使用Visual Studio Code进行MicroPython编程的更多相关文章
- visual studio code的python编程中遇到的SyntaxError:invalid syntax问题的原因和解决办法
一.问题重现描述 1.最开始,正常执行语句 2.当我在"终端窗口"输入python进入交互模式后,再选择默认的"在终端中运行python文件"运行代码报错 3. ...
- Visual Studio Code 代理设置
Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器,在十多年的编程经历中,我使用过非常多的的代码编辑器(包括 IDE),例如 Fron ...
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用
.net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看 ...
- Visual Studio Code 配置指南
Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...
- Visual Studio Code,完美的编辑器
今日凌晨,微软的文本(代码)编辑器 Visual Studio Code(简称 VS Code),发布了首个正式版,距离首个 beta 版上线时间刚好一年. 在十多年的编程经历中,我使用过非常多的的代 ...
- Visual Studio Code和Docker开发asp.net core和mysql应用
Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对 ...
- 在Visual Studio Code中开发Office Add-in
作者:陈希章 发表于 2017年7月13日 上一篇 我介绍了如何在Visual Studio中开发Office Add-in,因为有标准的项目模板,一系列配套的工具,尤其是自带的一键调试功能,可以让开 ...
- Visual Studio Code(VS code)你们都在用吗?或许你们需要看一下这篇博文
写在前面 在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code. 都不用我安利VS code,大家就会乖乖的去用,无数个大言不惭的攻城狮,都被VS code比德 ...
- 30个极大提高开发效率的Visual Studio Code插件
译者按: 看完这篇文章,我打算从 Sublime Text 转到 Visual Studio Code 了! 原文: Immensely upgrade your development enviro ...
随机推荐
- protobuf反射详解
本文主要介绍protobuf里的反射功能,使用的pb版本为2.6.1,同时为了简洁,对repeated/extension字段的处理方法没有说明. 最初是起源于这样一个问题: 给定一个pb对象,如何自 ...
- 关于VS2015中的code snippet无法使用的问题
什么是code snippet? Code snippets are small blocks of reusable code that can be inserted in a code file ...
- C#使用Selenium实现QQ空间数据抓取 说说抓取
上一篇讲的是如何模拟真人操作登录QQ空间,本篇主要讲述一下如何抓取QQ说说数据 继续登录空间后的操作 登陆后我们发现QQ空间的菜单其实是固定的,只需要找到对应元素就可以,继续XPath 可以得到地址 ...
- [bug系列]Method not found: 'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFactory
bug由来 最近开始学习NetCore,想通过实战使用NetCore做一个集成数据库存储Redis缓存的WebApi项目,由于MSSQL的庞大体积,最终决定使用轻量级关系型数据库MySql. 所以最终 ...
- Angularjs 计数 $index
$index可以在ng-repeat直接使用,从0开始计数 <div ng-repeat="item in vm.data"> <!--从0开始计数--> ...
- Telnet协议详解(远程登陆协议)
1. 概述 Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议.Telnet协议的目的是提供一个相对通用的,双向的,面向八位字节的通信方法,允许界面终端设备和面向终 ...
- IOS开发之iOS深浅拷贝
这里主要侧重于集合类的深浅拷贝,主要事因为工作的时候遇到这个问题. 有不足的地方欢迎指正 首先我们需要有这样的一个前提: [array addObject:obj]; 这样obj的引用计数会增加1,如 ...
- SICP 关于递归迭代的重新理解以及尾递归的引入...
看了线性的递归和迭代以及树形递归迭代这部分的内容,感觉对递归和迭代又有了新的理解...所以记录一下,也算对这部分内容的总结吧. 首先书中提到的递归与迭代和我以前想的有点不一样,我感觉书中提到的递归和迭 ...
- WPF数据验证方式
WPF有两种数据验证的方式: 1 在数据对象上进行验证:普通属性验证或者实现IDataErrorInfo接口 2 可以再绑定规则上进行验证:ExceptionValidationRule异常验证规则 ...
- Expression Blend学习5控件
原文:Expression Blend学习5控件 Expression Blend ButtonStyle- TextButton 本章以TextButton为例,讲解如何最简单,最快速的制作一个专业 ...