- Configurando o IDE Arduino
- Configurando a placa STM8S103F3 para Programação IDE Arduino
- LED piscando em STM8S103F3 usando Arduino
- Arduino Pin Mapping para STM8S103F3
- Compilando Bibliotecas SPL no IDE Arduino
O Arduino sem dúvida cresceu e se tornou uma ferramenta de prototipagem rápida e fácil de usar, graças à sua comunidade de usuários de suporte. Hoje, devido à sua natureza de código aberto, a plataforma não se limita apenas às placas Arduino, mas também a outras placas de desenvolvimento, como NodeMCU, ESP8266, STM32, MSP430, etc., também podem ser programadas a partir do Arduino IDE. Se você tem interesse em saber como, pode seguir os links abaixo.
- Programando NodeMCU com Arduino IDE
- Programação ESP8266 com Arduino IDE
- Programando STM32 com Arduino IDE
- Programando MSP430 com Energeia (semelhante ao Arduino)
Sem dúvida, o Arduino IDE é ótimo para iniciantes, mas ainda assim, para desenvolvimento profissional, é bom trabalhar com ambientes de desenvolvimento nativos e compiladores. Como o MPLABX para microcontroladores PIC e o estúdio Code Composer para microcontroladores TI. Usar a plataforma nativa nos permite trabalhar no nível de registro (até mesmo no nível de montagem, se necessário), permitindo que o programa seja mais eficaz na memória. É por isso que, quando iniciamos o tutorial do Microcontrolador STM8Ssérie, a escolha da plataforma foi STVD e o compilador Cosmic C, ambos gratuitos para baixar e usar. Infelizmente, porém, o STVD é um IDE muito antigo e parece que está nos anos 90 enquanto trabalhava com ele. Além disso, a ferramenta do programador STVP também não está bem integrada com o IDE e você deve usá-la separadamente. Isso aumenta o tempo de compilação e upload e torna o desenvolvimento e a depuração uma dor de cabeça.
Fui em busca de alternativas e foi aí que veio o IDE do Arduino para me resgatar. Uma ferramenta chamada Sduino de Michael Mayor nos permite programar facilmente os microcontroladores STM8s (a maioria dos mais populares) diretamente a partir do IDE do Arduino e leva apenas alguns minutos para configurar isso e começar. O que é mais interessante é que além de suportar a programação estilo Arduino, o Sduino também nos permite usar a Standard Peripheral Library (SPL), ou seja, podemos quase compilar o mesmo programa no STVD no IDE do Arduino. Embora o Sduino seja uma ferramenta legal, ainda está em desenvolvimento e ainda não oferece suporte a muitas das bibliotecas e funções do Arduino. Dito isso, vamos aprender como usar o IDE Arduino com a placa de desenvolvimento STM8S103F.Se você é totalmente novo nesta placa, verifique os primeiros passos com o tutorial STM8S103F. Além do STM8S103F, o Sduino também suporta outros microcontroladores STM8S como o STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, etc. O procedimento explicado neste tutorial é o mesmo para todos.
Configurando o IDE Arduino
Etapa 1: Se você é completamente novo no ambiente Arduino, baixe o Arduino com base no seu sistema operacional e instale-o.
Passo 2: Siga Arquivo -> Preferências para abrir a janela de preferências e cole o link fornecido abaixo na caixa de texto URL de gerenciamento de placas adicionais e clique em OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Passo 3: Siga Ferramentas -> Placa -> Gerenciador de placa para abrir a caixa de diálogo do gerenciador de placa e pesquise “sduino”. Clique em instalar e feche a caixa de diálogo após a conclusão da instalação.
Etapa 4: Reinicie o IDE e siga em Ferramentas -> Placa -> STM8S103F3 . Você pode selecionar outras placas se tiver uma placa de desenvolvimento diferente.
Agora, o IDE Arduino está pronto para programar a placa de desenvolvimento STM8S103F3. Vamos configurar a placa, conectá-la ao computador e programar para um simples piscar de LED.
Configurando a placa STM8S103F3 para Programação IDE Arduino
Conecte o ST-Link V2 com a placa de desenvolvimento conforme mostrado abaixo.
As conexões são bastante diretas e a melhor parte é que você não precisa de componentes externos. Minha configuração de hardware para programação é mostrada abaixo, eu acabei de usar os fios do conector fêmea para fazer minha conexão. No entanto, observe que a pinagem de seu ST-Link pode ser diferente da minha, certifique-se de seguir a pinagem no dispositivo antes de fazer as conexões.
Faça a conexão e conecte o dispositivo ao seu computador, a instalação do driver deve começar automaticamente. Você pode usar o gerenciador de dispositivos para garantir que seu computador detectou o ST-LINK V2 corretamente. Você também notará o LED de teste na placa piscando se esta for a primeira vez que a placa será ligada.
LED piscando em STM8S103F3 usando Arduino
Agora, para um simples piscar de LED, podemos usar o programa de piscar da seção de exemplo. Siga Arquivo -> Exemplo -> Generic_Example -> Basics -> Blink .
O programa completo para piscar o led integrado é mostrado abaixo-
void setup () {// inicializa o pino digital LED_BUILTIN como uma saída. pinMode (LED_BUILTIN, OUTPUT); } // a função de loop é executada continuamente void loop () {digitalWrite (LED_BUILTIN, HIGH); // liga o LED (HIGH é o nível de tensão) delay (1000); // espera por um segundo digitalWrite (LED_BUILTIN, LOW); // desliga o LED tornando a voltagem LOW delay (1000); // espere um segundo}
Como você pode ver, isso é muito semelhante ao programa blink do Arduino. Para fazer o upload do programa, certifique-se de que sua placa esteja conectada via st-link v2 como discutido acima e selecione o programador como “ST-Link / V2” conforme mostrado abaixo.
Nota: Ao contrário das placas Arduino, você não precisa selecionar a porta COM correta para programar a placa. Você usará a porta COM apenas para comunicação serial.
Uma vez que a porta COM é selecionada, o upload do código também é muito simples. Basta pressionar o botão de upload (circulado em vermelho abaixo) e o código será compilado e enviado ao nosso fórum automaticamente.
É isso, o programa é carregado diretamente na placa e você deve ver o LED da placa piscando. Nenhum software de upload externo, nada. Tão fácil quanto isso. Você pode conferir o vídeo no final desta página para o trabalho.
Arduino Pin Mapping para STM8S103F3
Se quiser continuar a partir daqui, você precisa saber como lidar com cada pino na placa de desenvolvimento STM8S103F3. O mapeamento dos pinos pode ser entendido a partir desta imagem abaixo-
Por exemplo, a partir do diagrama de circuito da placa STM8S103F3, sabemos que o LED on-board está conectado ao PB5. Para resolver este pino no Arduino, temos que usar 3, portanto, o programa pode ser escrito como-
void setup () {// inicializa o pino digital LED_BUILTIN como uma saída. pinMode (3, OUTPUT); } // a função de loop é executada repetidamente para sempre void loop () {digitalWrite (3, LOW); // liga o LED (HIGH é o nível de tensão) delay (1000); // espera por um segundo digitalWrite (3, HIGH); // desliga o LED tornando a voltagem LOW delay (1000); // espere um segundo}
Compilando Bibliotecas SPL no IDE Arduino
Conforme mencionado anteriormente, também podemos usar a biblioteca SPL no Arduino IDE. Se você se lembra, em nosso tutorial STM8S GPIO anterior, escrevemos um código para piscar o LED on-board e também um LED externo usando o botão. O mesmo código com pouquíssimas modificações também pode ser compilado no Arduino. O código modificado é mostrado abaixo.
#define Green_LED GPIOA, GPIO_PIN_3 configuração void () {GPIO_DeInit (GPIOA); // prepara a porta A para funcionar GPIO_DeInit (GPIOB); // prepara a porta B para funcionar // Declara PA2 como entrada pull up pin GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Declara PA3 como pino de saída Push Pull GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Declara PB5 como pino de saída push pull GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // se o botão for pressionado GPIO_WriteLow (Green_LED); // LED ON else GPIO_WriteHigh (Green_LED); // LED OFF GPIO_WriteReverse (GPIOB, GPIO_PIN_5); atraso (100); }
Para concluir, o IDE do Arduino junto com o Sduino é uma opção muito boa se você deseja iniciar seu desenvolvimento com o STM8S. No entanto, a plataforma ainda está em desenvolvimento e muitas bibliotecas Arduino ainda não foram suportadas. Ainda assim, se você deseja se aprofundar e contribuir para o desenvolvimento, seria ótimo. Mas, por uma questão de aprendizagem, vou continuar a série de tutoriais com STVD e compilador C cósmico.