IN / OUT in C für das MM32 Board Light
//---------------------------------------------------------------------- // MM32 example IN/OUT // MM32L073 // LED = B0, BUTTON = A0 //---------------------------------------------------------------------- #include <stddef.h> #include <stdlib.h> #include "hardware.h" void initApplication() { // init code SysTick_Config(SystemCoreClock/100); // 10ms systick event // LED Port B Bit 0 = OUTPUT RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOB,ENABLE); GPIO_InitTypeDef led; led.GPIO_Mode = GPIO_Mode_Out_PP; led.GPIO_Pin = GPIO_Pin_0; led.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOB,&led); // Button Port A Bit 0 = INPUT + PULLUP RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA,ENABLE); GPIO_InitTypeDef button; button.GPIO_Mode = GPIO_Mode_IPU; button.GPIO_Pin = GPIO_Pin_0; button.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOA,&button); } int main(void) { SystemInit(); initApplication(); do{ // application logic 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.