#include "LED.h" // Keil::Board Support:MCBSTM32C:LED #include "ADC.h" int main (void) { int32_t max_num = LED_Num() - 1; //LED_Num kommer fra LED.h og angiver antallet af LEDs int32_t adc; int32_t i; LED_Initialize();//Init LED kommer fra LED.h ADC_Initialize();//Init ADC while (1){ //Kør evigt ADC_StartConversion(); while (!ADC_ConversionDone()){} adc = ADC_GetValue(); adc = adc >> 4; //ADC værdien er 12 bit, men vi har kun 8 lysdioder så vi smider de nederste 4 væk for (i = 0; i < LED_Num(); i++){ adc = adc >> 1; //Skift adc værdien en gang til venstre if (adc) LED_On(i); //Tænd LED angivet af i hvis der fortsat er bit tilbage i adc else LED_Off (i); //Sluk LED }"> #include "LED.h" // Keil::Board Support:MCBSTM32C:LED #include "ADC.h" int main (void) { int32_t max_num = LED_Num() - 1; //LED_Num kommer fra LED.h og angiver antallet af LEDs int32_t adc; int32_t i; LED_Initialize();//Init LED kommer fra LED.h ADC_Initialize();//Init ADC while (1){ //Kør evigt ADC_StartConversion(); while (!ADC_ConversionDone()){} adc = ADC_GetValue(); adc = adc >> 4; //ADC værdien er 12 bit, men vi har kun 8 lysdioder så vi smider de nederste 4 væk for (i = 0; i < LED_Num(); i++){ adc = adc >> 1; //Skift adc værdien en gang til venstre if (adc) LED_On(i); //Tænd LED angivet af i hvis der fortsat er bit tilbage i adc else LED_Off (i); //Sluk LED }">
Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afLone Kristensen Redigeret for ca. et år siden
1
ADC (Analog/Digital converter) Bruges til at måle analoge spændinger på kontrollerens inputporte. På dit board sidder en drejeknap under displayet som styrer en analog spænding. ADC skal inkluderes i projektet på samme måde som du gjorde med LED og Keyboard. Da konverteringen kan tage lidt tid (nogle micro sekunder) er det nødvendigt først at starte konverteringen og derefter spørge til om den er færdig. Koden på næste side viser hvordan ADC værdier kan bruges til at tænde og slukke for LEDs. Prøv at starte koden og drej på knappen. Prøv at rette i din egen kode så ADC spændingen kan bruges til at styrer hastigheden på dine dioder.
2
#include "stm32f10x.h" // Device header
#include <stdio.h> #include "LED.h" // Keil::Board Support:MCBSTM32C:LED #include "ADC.h" int main (void) { int32_t max_num = LED_Num() - 1; //LED_Num kommer fra LED.h og angiver antallet af LEDs int32_t adc; int32_t i; LED_Initialize();//Init LED kommer fra LED.h ADC_Initialize();//Init ADC while (1){ //Kør evigt ADC_StartConversion(); while (!ADC_ConversionDone()){} adc = ADC_GetValue(); adc = adc >> 4; //ADC værdien er 12 bit, men vi har kun 8 lysdioder så vi smider de nederste 4 væk for (i = 0; i < LED_Num(); i++){ adc = adc >> 1; //Skift adc værdien en gang til venstre if (adc) LED_On(i); //Tænd LED angivet af i hvis der fortsat er bit tilbage i adc else LED_Off (i); //Sluk LED }
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.