Tengo algunos problemas para hacer que mi STM32F103 funcione como es mi intención. En mi tablero de trabajo (anteriormente flasheado con el firmware de Espruino) tengo LEDs conectados a las líneas TMS TCK y TDI.
Después de parpadearlo con .bin generado por System Workbench STM32, apago una luz tenue de estos LED.
Aquí está el código que usé (mi código real es mucho más largo pero tiene el mismo síntoma):
#include "stm32f1xx.h"
void delay(void);
void main(void)
{
// I/O port C clock enable
RCC->APB2ENR = RCC_APB2ENR_IOPCEN;
// Set PC_12 to output
GPIOC->CRH &= ~(GPIO_CRH_MODE12 | GPIO_CRH_CNF12);
GPIOC->CRH |= GPIO_CRH_MODE12;
while(1)
{
GPIOC->BSRR = (1<<12);
delay();
GPIOC->BRR = (1<<12);
delay();
}
}
void delay(void)
{
volatile unsigned int i;
for (i = 0; i < 20000; i++);
}
El Pin C12 hace lo que pretendo para esta prueba simple. ¿Qué debo hacer para que detenga la actividad TMS / TDI?
pregunta lateral; el .bin generado por System Workbench STM32, ¿incluye todo lo que se necesita? Aka la HAL?