#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 }">

Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

ADC (Analog/Digital converter) Bruges til at måle analoge spændinger på kontrollerens inputporte. På dit board sidder en drejeknap under displayet som.

Lignende præsentationer


Præsentationer af emnet: "ADC (Analog/Digital converter) Bruges til at måle analoge spændinger på kontrollerens inputporte. På dit board sidder en drejeknap under displayet som."— Præsentationens transcript:

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 }


Download ppt "ADC (Analog/Digital converter) Bruges til at måle analoge spændinger på kontrollerens inputporte. På dit board sidder en drejeknap under displayet som."

Lignende præsentationer


Annoncer fra Google