- Materiais requisitados
- Diagrama de circuito
- Carregando o carregador de inicialização Maple para a placa de desenvolvimento STM32
- Preparando o IDE do Arduino e instalando os drivers
- Programando STM32 (comprimido azul) diretamente pela porta USB
A placa de desenvolvimento STM32 que abriga o microcontrolador STM32F103C8 está se tornando cada vez mais popular graças à sua arquitetura ARM Cortex M3, possui alta velocidade operacional e mais opções de periféricos. Além disso, esta placa pode ser facilmente programada usando o IDE do Arduino, ela se tornou a escolha preferível para muitos amadores e engenheiros para prototipagem rápida.
Em nosso tutorial anterior, aprendemos os fundamentos da placa de desenvolvimento STM32 e também a programamos para piscar um LED. Mas havia uma grande desvantagem nisso. Para programar a placa, utilizamos um módulo de programador FTDI e também tivemos que alternar o jumper de inicialização 0 entre e 1 posição durante o upload e teste de um código, o que certamente é uma tarefa difícil. Além disso, a porta mini-USB na placa de desenvolvimento foi deixada totalmente sem uso. O motivo para fazer isso é que, quando a placa de desenvolvimento STM32 é adquirida, ela não vem com um carregador de boot pronto para o Arduino e, portanto, a placa não será descoberta pelo seu computador quando conectada através do USB.
Esperançosamente, existe um gerenciador de inicialização experimental desenvolvido pela LeafLabs para miniplacas Maple. Este carregador de boot pode ser instalado no STM32 uma vez e, depois disso, podemos usar diretamente a porta USB da placa STM32 para carregar programas como qualquer outra placa Arduino. No entanto, este carregador de boot ainda está em estágio de desenvolvimento no momento da documentação deste tutorial e não é aconselhável para aplicativos críticos. Antes de prosseguir com este tutorial, certifique-se de ler o tutorial anterior para entender os fundamentos desta placa, incluindo detalhes sobre as especificações e pinagens.
Materiais requisitados
- STM32 - (BluePill) Placa de Desenvolvimento (STM32F103C8)
- Programador FTDI
- Tábua de pão
- Fios de conexão
- Laptop com Internet
Diagrama de circuito
Para programar a placa STM32 Blue Pill diretamente através da porta USB, precisamos primeiro fazer o flash do carregador de inicialização Maple no MCU. Para fazer isso, precisamos usar uma placa serial FTDI. Esta placa é conectada aos pinos Rx e Tx do STM32 conforme mostrado abaixo.
O pino Vcc da placa FTDI é conectado ao pino STM32 5V de alimentação da placa. O aterramento é conectado ao aterramento do STM32. Os pinos Rx e Tx da placa FTDI são conectados aos pinos A9 e A10 do STM32, respectivamente. Onde o A9 é o pino Tx do STM32 MCU e o A10 é o pino Rx.
Certifique-se de que o pino do jumper de inicialização 0 na placa esteja definido como 1 (modo de programação) enquanto carrega o carregador de inicialização. Assim que o carregador de boot é ativado, este pino pode ser alterado de volta para a posição inicial (modo de operação).
Carregando o carregador de inicialização Maple para a placa de desenvolvimento STM32
Depois de fazer a conexão acima, conecte a placa FTDI ao seu computador e siga as etapas para fazer o flash do carregador de boot no STM32.
Etapa 1: Temos que baixar os binários do arquivo de programa do carregador de boot (arquivo bin) da página github. Existem muitas versões do arquivo bin, para a placa Blue Pill use este link do github e clique no botão de download para baixar o arquivo bin.
Passo 2: Em seguida, temos que baixar e instalar o software STM Flash loader para fazer o flash do arquivo bin baixado no STM32. Clique neste link para entrar no site da ST, vá até a parte inferior e clique em obter software
Passo 3: Para baixar o software, você deve inserir seu endereço de e-mail e o link de download será enviado para seu e-mail. Em seguida, siga o link para o site da Web e clique em obter software novamente e o download começará. Sim, é um pouco frustrante, mas é assim que deve ser feito. Não se esqueça de verificar sua pasta de spam para ver se há o e-mail, às vezes leva alguns minutos para o e-mail chegar.
Etapa 4: Depois de fazer o download, instale o software, certifique-se de que a placa STM32 esteja conectada ao computador por meio da placa FTDI e, em seguida, inicie o software. O software detectará automaticamente a porta COM se não usar o gerenciador de dispositivos e certifique-se de selecionar o número da porta COM correto. No meu caso, é COM4. Deixe o resto da configuração como mostrado abaixo.
Etapa 5: Clique no botão Avançar duas vezes e o software detectará novamente automaticamente os detalhes da placa e exibirá conforme mostrado abaixo. A placa que estamos usando é a STM32F1 com memória flash de 128K.
Etapa 6: na próxima etapa, selecione Baixar para o dispositivo, navegue até o local onde baixamos nosso arquivo bin na etapa 1 e selecione-o. Clique em Avançar.
Etapa 7: O software fará o download de alguns arquivos necessários conforme mostrado abaixo e, em seguida, iniciará o processo de atualização.
Etapa 8: Assim que o flashing for concluído com sucesso, obteremos a tela abaixo. Clique em fechar e saia do aplicativo. Atualizamos a placa STM32 com o carregador de boot Arduino com sucesso. Agora temos que preparar o IDE do Arduino e instalar os drivers antes de programar a placa STM32.
Preparando o IDE do Arduino e instalando os drivers
Siga as etapas abaixo para baixar e preparar o Arduino IDE para ser usado com a placa de desenvolvimento STM 32.
Etapa 1: - Se você ainda não instalou o IDE Arduino, faça o download e instale-o deste link. Certifique-se de selecionar o sistema operacional correto.
Etapa 2: - Após instalar o IDE do Arduino, abra e baixe os pacotes necessários para a placa STM32. Isso pode ser feito selecionando Arquivo -> Preferências .
Passo 3: - Clicar em Preferências abrirá a caixa de diálogo mostrada abaixo. Na caixa de texto adicional do URL do Boards Manager, cole o link abaixo
dan.drown.org/stm32duino/package_STM32duino_index.json
e pressione OK.
Passo 4: - Agora vá para Ferramenta -> Placas -> Gerenciador de Placa . Isso abrirá a caixa de diálogo do gerenciador de placas, procure por “STM32F1” e instale o pacote que aparece.
Etapa 5: Após a instalação do pacote, navegue até C: \ Arquivos de programas (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win onde você encontrará install_drivers.bat e install_STM_COM_drivers.bat .
Etapa 6: Clique em ambos os arquivos bat e instale os drivers. Você obterá uma tela do DOS conforme mostrado abaixo.
Agora o IDE do Arduino está preparado para programar a placa de desenvolvimento STM32 (Blue Pill) e os drivers também estão instalados.
Programando STM32 (comprimido azul) diretamente pela porta USB
Remova a placa FTDI e todas as conexões existentes de seu STM32. Basta usar a porta micro-USB na placa STM32 para conectá-la ao computador conforme mostrado abaixo. Certifique-se de que o pino 0 do jumper esteja posicionado novamente em 0 (modo operacional). Doravante, não precisamos mais alternar o jumper para carregar e executar os programas.
Seu computador deve ser capaz de descobrir a placa agora. Aguarde um pouco se você vir qualquer driver adicional sendo instalado. Em seguida, entre no gerenciador de dispositivos e verifique se sua placa STM32 foi descoberta na seção COM e porta conforme mostrado abaixo. O meu está conectado ao COM8 com o nome Maple Mini.
Vá para Ferramentas e role para baixo para encontrar a série STM32F103C Genérica conforme mostrado abaixo. Em seguida, certifique-se de que a variante é do tipo Flash de 64k , a velocidade da CPU é 72MHz e altere o método de upload para STM32duino Bootloader . Selecione também a porta COM correta de acordo com a do gerenciador de dispositivos.
Depois que todas as alterações forem feitas, verifique o canto inferior direito do IDE do Arduino e você deverá observar a configuração a seguir. Minha placa STM32 está conectada a COM8, mas a sua pode ser diferente
Agora, o Arduino IDE está pronto para programar as placas de desenvolvimento STM 32 Blue Pill. Vamos fazer o upload do Sample Blink Program do Arduino IDE para a placa STM32 Blue Pill para nos certificarmos de que tudo está funcionando corretamente. O programa de exemplo pode ser encontrado em
No programa de exemplo que é aberto, temos que fazer uma pequena alteração. Por padrão, o programa será escrito para PB1, mas em nossa placa o LED integrado está conectado ao PC13, portanto, substitua todos os PB1 por PC13 e podemos prosseguir. O programa de exemplo completo que foi modificado também pode ser encontrado na parte inferior desta página.
O código dentro da função de loop sozinho é mostrado abaixo, onde podemos notar que o pino PC13 é mantido ALTO (ligado) por 1000 milissegundos e então desligado (BAIXO) por mais 1000 milissegundos e isso é feito por infinitas vezes, pois está em função de loop . Portanto, o LED parece estar piscando com um intervalo de 1000 milissegundos.
digitalWrite (PC13, HIGH); // liga o LED (HIGH é o nível de tensão) delay (1000); // espera por um segundo digitalWrite (PC13, LOW); // desliga o LED fazendo o delay low voltage (1000); // espere um segundo
Pressione o botão de upload no IDE do Arduino e seu programa deve ser compilado e carregado. Se tudo tiver funcionado conforme o esperado, você verá o seguinte no console do Arduino IDE.
Se o programa foi carregado com sucesso, você deverá ver o LED verde piscando em um intervalo de 1 segundo, conforme mostrado no vídeo abaixo. Você também pode mexer no programa para aumentar ou diminuir o atraso. Agora você pode começar a usar a placa de desenvolvimento STM32 (Blue Pill) como qualquer outra placa Arduino, ou seja, você não precisa mais alterar a posição dos jumpers ou usar hardware externo para fazer upload e testar programas.
Espero que você tenha entendido o tutorial e considerado útil para começar a usar a placa STM32. Se você tiver qualquer problema, deixe-os na seção de comentários, diga-me também quais projetos devemos tentar com esta placa STM32 no futuro.