Após a instalação e as configurações iniciais efetuadas nos dois posts anteriores, chegou finalmente a hora de começar a configurar a placa stm32. Voltando à tela de configuração, "Pinout & Configuration", vamos configurar os pinos Debug.
Configurar pinos debug
É necessária a configuração dos pinos de debug sempre que for criar um novo projeto e for utilizar o gravador/debugger. Esta configuração irá permitir gravar o firmware na placa e efetuar depuração.
Na área esquerda, abra a seção "System Core" e em seguida clique em SYS. Para "Debug" selecione "Serial Wire".
Note que 2 pinos do microcontrolador ficaram verdes: PA14 e PA13. Estes são os pinos que serão usados para conectar o gravador/debugger.
Configurar o GPIO
GPIO (General Purpose Input/Output) é um conjunto de pinos responsável por fazer a comunicação de sinais digitais de entrada e saída. É com um pino GPIO, por exemplo, que podemos fazer o mais simples dos projetos: acender um Led. Nele podemos ler sensores, acionar botões etc.
Para configurar um pino como GPIO basta clicar sobre o pino e selecionar GPIO_Output. Output porque neste projeto iremos programar para acender um Led. Utilizaremos o pino PB4 neste exemplo.
Vamos colocar um label para o pino GPIO que irá facilitar as coisas na hora da programação. Clique com o botão direito do mouse/touchpad e em "Enter User Label". Na caixinha que abrir digite o nome da label: BUILTIN_LED e dê enter.
Agora nosso pino PB4 GPIO está devidamente identificado, assim como os pinos debug.
Após essas configurações básicas, podemos salvar o projeto. Neste momento, escolhemos a IDE que iremos utilizar, que neste caso é a TrueStudio.
Vá na guia "Project Manager" e em Toolchain/IDE selecione TrueStudio. Em seguida, clique em "Generate Code" no canto superior direito.
Ao gerar o código o sistema irá exibir uma mensagem. Pode clicar em "Open Project". Se abrir num editor de texto ou simplesmente não funcionar, poderá abrir manualmente direto no TrueStudio.
Programar a placa no TrueStudio usando HAL
Abra o TrueStudio e vá em File >> Open Project From File System e escolha a pasta onde foi salvo o projeto no CubeMX. Depois clique em Finish.
Para compilar o projeto vá no ícone do martelinho: Build Debug:
Nos diretórios do projeto, abra a pasta "Src" e abra o arquivo "main.c", dando um duplo clique sobre ele.
Procure por /* Infinite loop */. É onde começa a parte de instruções do código. Aqui vamos desenvolver as instruções para acender o Led.
No Arduino, estamos acostumados com as funções DigitalWrite, PinMode, delay e etc. Aqui, vamos usar as funções do HAL - Hardware Abstraction Layer. O link da documentação do HAL você confere aqui.
Vamos utilizar duas funções o HAL: HAL_GPIO_TogglePin e HAL_Delay:
HAL_GPIO_TogglePin(BUILTIN_LED_GPIO_Port, BUILTIN_LED_Pin);
HAL_Delay(1000);
Note que utilizamos o label "BUILTIN_LED" em vez do código do pino (PB4).
Salve o projeto.
Conecte o gravador na placa SMT32 e no USB do computador:
Para gravar o firmware na placa clique no botão de Debug:
É possível que na primeira vez que você for usar o gravador/debugger o TrueStudio peça a atualização do firmware do gravador:
Clique em "OK" e siga os passos da atualização:
Feita a atualização do firmware do gravador, clique novamente no botão de Debug.
No botão Step Over você pode visualizar a execução do código e o funcionamento na placa linha a linha.
Quando terminar, clique em "Terminate". Isto encerrará o debugging e o firmware já estará gravado no placa.
Para compilar o projeto vá no ícone do martelinho: Build Debug:
Nos diretórios do projeto, abra a pasta "Src" e abra o arquivo "main.c", dando um duplo clique sobre ele.
Procure por /* Infinite loop */. É onde começa a parte de instruções do código. Aqui vamos desenvolver as instruções para acender o Led.
No Arduino, estamos acostumados com as funções DigitalWrite, PinMode, delay e etc. Aqui, vamos usar as funções do HAL - Hardware Abstraction Layer. O link da documentação do HAL você confere aqui.
Vamos utilizar duas funções o HAL: HAL_GPIO_TogglePin e HAL_Delay:
HAL_GPIO_TogglePin(BUILTIN_LED_GPIO_Port, BUILTIN_LED_Pin);
HAL_Delay(1000);
Note que utilizamos o label "BUILTIN_LED" em vez do código do pino (PB4).
Salve o projeto.
Conecte o gravador na placa SMT32 e no USB do computador:
Para gravar o firmware na placa clique no botão de Debug:
É possível que na primeira vez que você for usar o gravador/debugger o TrueStudio peça a atualização do firmware do gravador:
Clique em "OK" e siga os passos da atualização:
Feita a atualização do firmware do gravador, clique novamente no botão de Debug.
No botão Step Over você pode visualizar a execução do código e o funcionamento na placa linha a linha.
Quando terminar, clique em "Terminate". Isto encerrará o debugging e o firmware já estará gravado no placa.



















