【笔记】tinygo下载编译

本文档介绍了如何使用TinyGo在Windows环境下通过VSCode为Arduino Uno等板子烧录Go语言程序。作者分享了遇到的挑战、参考的教程链接以及烧录命令。TinyGo是一个适用于微控制器和WebAssembly的小型Go编译器,允许开发者编写兼容Arduino的程序。文章还提供了`go.mod`文件和`settings.json`的配置示例。
摘要由CSDN通过智能技术生成

根据这个大佬的视频
https://www.bilibili.com/video/BV1hi4y1m7g5?spm_id_from=333.788.top_right_bar_window_history.content.click

我尝试了很久,遇到了很多GO的坑(毕竟是go小白,很多东西都没搞懂)

最终终于烧录成功了
参考文档:
https://discretetom.github.io/posts/windows-vscode-tinygo-arduino/
https://github.com/tinygo-org/tinygo

在这里插入图片描述
烧录命令:

tinygo flash -target arduino  

tinygo flash -target arduino  <目标地址>
如:tinygo flash -target arduino examples/blinky1

TinyGo是一个Go编译器,用于微控制器、WebAssembly (Wasm)和命令行工具等小地方。

它重用Go语言工具在旁边LLVM提供另一种方法来编译用Go编程语言编写的程序。

下面是一个示例程序,当直接在任何带有板载LED的受支持主板上运行时,该程序会闪烁内置LED:

package main

import (
    "machine"
    "time"
)

func main() {
    led := machine.LED
    led.Configure(machine.PinConfig{Mode: machine.PinOutput})
    for {
        led.Low()
        time.Sleep(time.Millisecond * 1000)

        led.High()
        time.Sleep(time.Millisecond * 1000)
    }
}

只要设置正确的TinyGo编译器目标,上述程序无需修改即可在Arduino Uno、Adafruit ItsyBitsy M0或任何具有内置led的受支持电路板上编译和运行。例如,这将编译并刷新一个Arduino Uno:

tinygo flash -target arduino examples/blinky1

go.mod:

module demo


go 1.18

settings.json配置

{
    "go.toolsEnvVars": {
        "GOROOT": "C:\\Users\\73968\\AppData\\Local\\tinygo\\goroot-7b4c5b78c095ffb5578c8619666712b02015dbd3e648685cfb1c35f1effd4fda",
        "GOFLAGS": "-tags=avr,baremetal,linux,arm,atmega328p,atmega,avr5,arduino,tinygo,math_big_pure_go,gc.conservative,scheduler.none,serial.uart"
    }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

创客阿蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值