IN / OUT in C für das mySTM32 Board Light
//--------------------------------------------------------------------------- // Title : simple IN OUT Solution, ARM C application in SiSy //--------------------------------------------------------------------------- // Function : ... // Wiring : ... //--------------------------------------------------------------------------- // Hardware : ... // Clock : ... MHz // Language : ARM C // Date : ... // Version : ... // Author : ... //--------------------------------------------------------------------------- #include <stddef.h> #include <stdlib.h> #include "hardware.h" void initApplication() { // config 10ms SystemTimer SysTick_Config(SystemCoreClock/100); // user initializations here RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE); GPIO_InitTypeDef led; led.GPIO_Mode = GPIO_Mode_OUT; led.GPIO_OType = GPIO_OType_PP; led.GPIO_Pin = GPIO_Pin_0; led.GPIO_PuPd = GPIO_PuPd_NOPULL; led.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOB,&led); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE); GPIO_InitTypeDef button; button.GPIO_Mode = GPIO_Mode_IN; button.GPIO_Pin = GPIO_Pin_0; button.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA,&button); } int main(void) { SystemInit(); initApplication(); do{ if (GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0) GPIO_SetBits(GPIOB,GPIO_Pin_0); else GPIO_ResetBits(GPIOB,GPIO_Pin_0); } while (true); return 0; } extern "C" void SysTick_Handler(void) { // Application SysTick default 10ms } //------------------------------------------------------------------------------
Test
Nutzen sie die Schaltflächen Kompilieren, Linken und Brennen. Stellen Sie die nötigen Verbindungen auf dem Board mit den dafür vorgesehenen Patchkabeln her. Testen Sie die Anwendung.
Version mit der STM32 HAL Library
…
Version mit der STM32 LL Library
…