U-BLOX NINA B302 RODANDO TINYGO - HELLO WORLD
O objetivo deste BLOG é demonstrar como é possível programar o módulo U-BLOX NINA B302 com a linguagem TINYGO. Foi utilizado o breakout NINA B302. Neste exemplo faremos um HELLO WORLD.
Adquirimos então os seguintes componentes
-Botão de RESET;
-Botão de Modo BOOTLOADER (W102);
-Plugável no PROTOBOARD;
-Acesso às várias GPIOS;
Pequena
BREAKOUT
TinyGo é um projeto para levar a linguagem de programação Go para microcontroladores e navegadores modernos, criando um novo compilador baseado em LLVM.
Você pode compilar e executar programas TinyGo em muitas placas microcontroladoras diferentes, como o micro:bit da BBC e o Arduino Uno.
TinyGo também pode ser usado para produzir código WebAssembly (WASM), que é muito compacto em tamanho.
Só quer ver o código? Vá ao repositório do Github em
TinyGo também tem suporte para vários dispositivos diferentes, como acelerômetros e magnetômetros. Confira o repositório do Github em
https://github.com/tinygo-org/drivers para obter mais informações.
Instalando no WINDOWS 10
Você deve usar o Go 1.14.x+ com a instalação nativa do Windows 10 do TinyGo.
Se você ainda não o instalou, você pode obtê-lo a partir de https://golang.org/dl/
Escolha o link de download para Microsoft Windows, Windows 7 ou posterior, processador Intel de 64 bits.
Baixe o arquivo TinyGo para Windows de https://github.com/tinygo-org/tinygo/releases/download/v0.16.0/tinygo0.16.0.windows-amd64.zip
Descomprima o arquivo assim:
Primeiro clique duas vezes no arquivo ZIP baixado para abri-lo.
Agora arraste a pasta "tinygo" na janela do arquivo ZIP para a unidade "C:".
Quando a pasta terminar de extrair, você pode fechar a janela de arquivo ZIP.
Você precisará adicionar C:\tinygo\bin ao seu PATH.
> set PATH=%PATH%;"C:\tinygo\bin";
Agora você deve ser capaz de executar o comando TinyGo:
> tinygo version
tinygo version 0.17.0 windows/amd64 (using go version go1.16 and LLVM version 11.0.0)
Montagem
Um cabo USB foi soldado em D+, D-, GND e VBUS do NINA B302
Gravando o BOOTLOADER
Diferente do NINA B112, o B302 tem uma USB a qual permite que você possa criar um COM virtual e MSD e copiar os programas, graças ao bootloader do time da Adafruit.
Adafruit Team
feather_nrf52840_express_bootloader-0.5.0.zip
Com seu gravador SEGGER J-TAG, será necessário gravar o BOOTLOADER da Adafruit.
DFU
Obs: além de um dispositivo MSD, teremos uma COMM Virtual (para debug)
CDC USB COMM E MSD
INFO_UF2.TXT dentro do MSD
UF2 Bootloader 0.5.0 lib/nrfx (v2.0.0) lib/tinyusb (0.9.0-22-g7cdeed54) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: Adafruit Feather nRF52840 Express
Board-ID: nRF52840-Feather-revD
SoftDevice: S140 version 6.1.1
Date: Apr 4 2021
Como pode observar, está o Softdevice S140 junto!
Conecte o u-BLOX NINA B302 na porta USB do seu computador.
Mostre seu programa TinyGo para o quadro usando este comando:
tinygo flash -port=COMxx -target=feather-nrf52840 examples/serial
O NRF52840 é o core do U-BLOX NINA-B302
A placa u-BLOX NINA B302 deve reiniciar e, em seguida, começar a executar o seu programa.
Solucionando problemas
Se você tiver problemas para enviar código para ou-BLOX NINA B302 receber código, tente isso:
Pressione o botão "RESET" na placa duas vezes para deixar a placa u-BLOX NINA B302 pronta para receber o código.
A placa u-BLOX NINA B302 aparecerá no seu computador como uma unidade USB.
Depois de atualizar sua placa u-BLOX NINA B302 pela primeira vez, depois disso você deve ser capaz de "flash-lo" inteiramente da linha de comando.
Notas
Você pode usar a porta USB para o u-BLOX NINA B302 como uma porta serial. UART0 refere-se a esta conexão.
Para um exemplo que usa os LEDs Neopixel embutidos, dê uma olhada no repositório de drivers TinyGo localizado em
O suporte bluetooth já está disponível para a placa u-BLOX NINA B302.
Executando o exemplo Serial
Gravando na FLASH
código Fonte
Interfaces implementadas no U-BLOX NINA B302 com o TINYGO
PISCANDO LED
Gravando na Flash
Código Fonte
D26 = P0_14
Restrições TINYGO
Questões: suporte@smartcore.com.br
FONTES:
Nenhum comentário:
Postar um comentário