Inhaltsverzeichnis

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.

Weiter mit