说明

  • virtual code实现编辑功能,其有强大的代码提示、代码阅读功能。

  • 通过bat文件,通过cmd编译、下载,具体下载器设置仍需在keil软件中设置

  • 具体代码调试仍需在keil软件下

项目配置文件

新建.vscode文件夹,在其下建立两个文件settings.json,c_cpp_properties.json

settings.json文件如下:

 {
     "files.associations": {
         "stm32f10x.h": "c"
    },
     "files.encoding": "gb2312",
     "editor.detectIndentation": false,
     "editor.tabSize": 2
 }

c_cpp_properties.json文件如下:

 {
     "configurations": [
        {
             "name": "Win32",
             "includePath": [
                 "${workspaceFolder}/**",
                 "C:/Keil_v5/ARM/ARMCC/include"
            ],
             "defines": [
                 "USE_STDPERIPH_DRIVER",
                 "STM32F10X_MD",
                 "__CC_ARM"
            ],
             "intelliSenseMode": "msvc-x64"
        }
    ],
     "version": 4
 }

这里第7行keil路径要换成自己的。

编写.bat文件实现编译、下载

编写的keil.bat文件如下:

 @echo off
 set UV=C:\Keil_v5\UV4\UV4.exe
 if "%1" == "" goto NOP
 set UV_PRO_PATH=%cd%\USER\%1.uvprojx
 if "%2" == "-b" (
     echo Init building ...
     %UV% -j0 -b %UV_PRO_PATH% -o %cd%\build_log.txt
     type build_log.txt
 ) else if "%2" == "-f" (
     echo Init flashing ...  
     %UV% -j0 -f %UV_PRO_PATH% -o %cd%\build_log.txt
     type build_log.txt
 ) else (
     echo Init building ...
     %UV% -j0 -b %UV_PRO_PATH% -o %cd%\build_log.txt
     type build_log.txt
     echo Init flashing ...
     %UV% -j0 -f %UV_PRO_PATH% -o %cd%\build_log.txt
     type build_log.txt
 )
 if "%3" == "-f" (
     echo Init flashing ...
     %UV% -j0 -f %UV_PRO_PATH% -o %cd%\build_log.txt
     type build_log.txt
 )
 goto end
 ​
 :NOP
 echo No ProjectName
 goto end
 ​
 :end
 exit

这里需要需改的是2,4行的路径。

编译+下载: .\keil.bat 项目名

仅编译:.\keil.bat 项目名 -b

仅烧写:.\keil.bat 项目名 -f

VS Code编写stm32的更多相关文章

  1. VS code写stm32

    第一次在知乎写博客,献丑了. VS code写stm32   今天实在觉得KEIL太丑,突然想到VS code也可以实现STM32代码的编写,遂决定写一个文章,把VScode变成一个STM32的IDE ...

  2. VS Code 搭建stm32开发环境

    MCU免费开发环境 一般芯片厂家会提供各种开发IDE方案,通常其中就包括其自家的集成IDE,如: 意法半导体 STM32CubeIDE NXP Codewarrior TI CCS 另外也可以用ecl ...

  3. [6278009]使用Visual Stuido Code 编写Markdown

    使用Visual Stuido Code 编写Markdown void main() { printf("Hello world!"); } void main() { Cons ...

  4. 31 Godoc: documenting Go code 编写良好的文档关于godoc

    Godoc: documenting Go code  编写良好的文档关于godoc 31 March 2011 The Go project takes documentation seriousl ...

  5. 在ubuntu下使用visual studio code编写python

    感觉有了visual studio code之后,不管编写什么语言的代码都可以,简单安装对应的语言插件即可. 这不轮到了最近比较热的python语言,蹭着AI的热度,python语言成为了工程师们又一 ...

  6. 如何使用VS Code编写Spring Boot (第二弹)

    本篇文章是续<如何使用VS Code编写Spring Boot> 之后,结合自己.net经验捣鼓的小demo,一个简单的CRUD,对于习惯了VS操作模式的.net人员非常方便,强大的智能提 ...

  7. vs code编写java

    不知不觉中vs code变得非常强大了,今天小编就分享一下vs code编写java语言.其实除了java语言,还支持很多语言. 首先看下vs code欢迎页面支持哪些语言: 好家伙,支持的东西还真不 ...

  8. Rust初步(二):使用Visual Studio Code编写Rust程序(猜猜看游戏)

    我是照着下面这篇帮助文档,完成了第一个完整的Rust程序: 猜猜看 游戏 http://kaisery.gitbooks.io/rust-book-chinese/content/content/3. ...

  9. Visual Studio Code编写HTML

    第一步双击打开Visual Studio Code,我们发现什么也没有,但是有一个默认打开的编辑页面.我们先点击File->OpenFoldor 为什么先这么做呢,有两个原因,第一个原因假如你有 ...

  10. 使用Visual Studio Code编写和激活ABAP代码 (上)

    猪年春节后的第一篇,Jerry祝各位猪年大吉! 2019年的六分之一马上就快过完了,不知道大家在新的一年是否给自己定了新的小目标呢?这里Jerry先预祝大家到2019年年底的时候,在年初制定的小目标都 ...

随机推荐

  1. Timer的定时调度函数schedule的四种用法

    schedule的四种用法 schedule(task,time) task-所安排的任务  time-执行任务的时间 作用:在时间等于或者超过time的时候执行且仅执行一次 import java. ...

  2. drf-序列化字段及参数、序列化和反序列化高级用法、ModelSerializer使用

    1.序列化类常用字段和字段参数 1.1 常用字段类 1.BooleanField 2 NullBooleanField 3 CharField CharField(max_length=None, m ...

  3. DownKyi安装使用教程

    哔哩下载姬 哔哩下载姬是一个简单易用的哔哩哔哩视频下载工具,具有简洁的界面,流畅的操作逻辑. 支持批量下载哔哩哔哩视频 支持批量下载bilibili视频. 哔哩下载姬可以下载几乎所有的B站视频,并输出 ...

  4. Redis 源码解读之 Rehash 的调用时机

    Redis 源码解读之 Rehash 的调用时机 背景和问题 本文想要解决的问题 什么时机触发 Rehash 操作? 什么时机实际执行 Rehash 函数? 结论 什么时机触发 Rehash 操作? ...

  5. net core api上传下载大文件 413、400错误 IIS服务器

    1.背景 上传文件时,如果文件太大(一般指超过30M的文件)会报错,报错原因如下 IIS服务器:限制大文件上传,报413错误码 net  core api项目:限制大文件上传,报400错误码 2.首先 ...

  6. CF468E Permanent 题解

    考虑暴力状压 DP. 按行 DP,记录列哪些被选过,可以做到 \(O(2^kk^2)\). 注意到某一列扫完了之后这一列选没选过不重要,可以减少这里的状态. 简单优化一下,每次选择最少的一列,使这一列 ...

  7. xml简单操作

    1.创建简单的XML 1 XmlDocument XmlDoc = new XmlDocument(); 2 //XML声明 3 var xmlDeclaration = XmlDoc.CreateX ...

  8. Android FragmentTabHost底部选项卡实现

    记录一下底部选项卡的实现,很常见的代码,大神勿嘲笑. 说一下思路,在activity底部要放上FragmentTabHost放上选项,几个无所谓,每个选项卡都对应一个fragment,点击选项卡颜色改 ...

  9. 数据类型之字符串(string)(三)

    其他操作 1.len():求序列长度,返回数字 a = 'my name is wang'len(a) 返回 15 空格也占一个位置. 2.+:连接2个字符串 >>> b = 'wh ...

  10. leetcode刷题(二)

    1.栈 逆波兰表达式求值 根据逆波兰表示法,求表达式的值. 有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分.给定逆波兰表 ...