Port access  Indtil nu har vi anvendt færdige metoder til at tænde og slukke for LEDs, men den metode virker kun så længe vi arbejde med Keil boardet.

Slides:



Advertisements
Lignende præsentationer
Informationer om trådløs netværk På trådløs netværk bruges CSMA/CA sammen med ”Request to Send (RTS)” og “Clear to Send (CTS)” for at undgå kollisioner.
Advertisements

1 Pentium IA-32 Maskinarkitekturen Kort resume – uge 5.
Struktureret interview/samtale/vejledersamtale
Efteruddannelse Embedded C
NetBeans Installation og brug.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
Delphi og C++ Builder C++ Referencer og pointere.
ASIC projekt VGA porten på Spartan3E 1.VGA Porten 2.Timing 3.Opbygning af FPGA 4.Opbygning af VHDL kode 5.Clock divider kode.
Compiler/fortolker struktur Mellem- kode Mellemk.- optimering Kode- generering Kode- optimering Lexikalsk- analyse Syntax- analyse Semantik- analyse -
Efteruddannelse Embedded C Modul 1 (Mandag den 19/4-2010)
Ingeniørhøjskolen i Århus Slide 1 Newton approximation ”Oversæt” til algoritme - Step 5: Skriv kode - Step 4: Skriv pseudokode - Step 3: Specificér pre-
FYSISK DESIGN 1. Hvem er vi Oskar, Troels og David.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
Efteruddannelse Embedded C Modul 3 (Onsdag den 21/4-2010)
Per Printz Madsen 1 Linux kernen Monolithic kernel Support for dynamiske moduler Få kerne tråde Preemptive.
DComNet1 ISA-niveauet (2). dComNet2 Niveauer af virtuelle maskiner ISA niveauet / maskinkodeniveauet / maskinniveau.
Seriel kommunikation Jan R. Indhold Krav Modularisering ACIA Registre Baudrate Konklusion.
Spec. af LottotalsGenerator interface LottoTal{ // S: mgd. af udtrukne tal // min, max: int - angiver intervallet (incl.) void set(int min, int max); //PRE.
DMasArk1 Pentium IA-32 Maskinarkitekturen. dMasArk2 Historie (1).. starter i 1970 med udviklingen af Intel 4004:
1 (c) W. J. Dally Digital Design: A Systems Approach Lecture 12: Timing.
VIRKSOMHEDSSPECIALE Why the struggle? Anne Mette Ravn Nielsen, cand. mag. i tværkulturelle studier (færdig forår 2015) - skriv.
UProcessorens hardware Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed.
Programmering I Java/C# Datatekniker Dit første projekt.
P ROCEDURE K ONDITEST I C OLUMBUS L ABORATORIUM. Tjek kommunikation Kald Astronauterne i Columbus op via skype Tjek at astronauterne kan høre dig.
Sådan programmerer du arduino via Atmel Studio Af Orla Utoft Sørensen Mercantec.
Port access I det efterfølgende vil vi anvende databladsoplysninger frem for anvende de færdige metoder.
Stavekontrol i Word. Klik på fanen ”Filer”, Klik på ”Indstillinger” Klik på ”Korrektur”. Opsætning kan se således ud. Opsætning af stavekontrol i Word.
Inden vi kan gå i gang skal du have installeret Keil uVision Under installationen er det vigtigt at vælge den rigtige hardware. Vi arbeder med følgende.
CANSAT & ARDUINO step by step
TÆT PÅ DIG TÆT PÅ JOB.
Lektion 7 Formål med denne lektion er at arbejde videre med klassekulturen, følge op på surveyen og at afrunde lektionsforløbet i Netwerk. Alle rettigheder.
Hvorfor & Hvordan lære Elever At programmere Arduinoer
Nu har du installeret uVision og set at både programmet og boardet virker. Man kan ikke lære at cykle ved at se på andre, så i det efterfølgende skal du.
DUBU Superbrugerrollen
1587 Server - Blandet miljø Embedded I
Embedded SW – C & picoBlaze
ADC (Analog/Digital converter) Bruges til at måle analoge spændinger på kontrollerens inputporte. På dit board sidder en drejeknap under displayet som.
I det efterfølgende vil vi prøve at opnå forbindelse til de knapper som er på boardet. Opgaven er at vi ved at trykke på knapperne kan få lyset til at.
Lav et nyt projekt og tilføj denne gang pakken Graphic LCD.
I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper.
”Avanceret” Programmering
Tre lags arkitektur hardware i systemer
Absolut adressering Hvis en formel skal kopieres må den forsynes med dollartegn for at holde sit indhold: H8*$B$5 5/20/2018 Martin Hejgaard Excel.
Interrupts. Indtil nu har hastigheden på dine blinkende LEDs været styret af et loop. Som du muligvis også har bemærket afhænger det meget af hvor travlt.
Usecase-Manual-går arbejdsgange igennem
Hvad er det, og hvor bruges det?
Modelsystem og referentsystem
Arduino antenne switch
I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper.
IOT – Elkedel på internettet
Indhold Visualiseringer Trafiksikkerhed Støj og Støv Der henvises i øvrigt til strategisk miljøvurdering, Lokalplan samt beslutningssag inklusiv bilag.,
Klasser og objekter (Afsnit i manualen).
Dokumentation.
Installer og registrer PFS softwaren
Adfærd på læssebagsmæk
Dokumentation.
Bestilling og ordrebekræftelse
Programmering.
Fortæl om påkørsel.
Truck og elhest.
Sådan bruges video- s og emnerapporter
Future Vejle inspiration
Rækkevidde af skråt kast
Humanistisk Entrepreneurship 13 Eksamen Eksamenstræning Adding values to the business model forår 2019 Pillon - KU.
Future Vejle inspiration
Fald og snublen Transport.
Sundhed og velvære.
Overvej spørgsmålet. Interview en makker.
Værktøj 4: Aktiverende APV
Værktøj 7: Det gode personalemøde og arbejdspladskulturen
Præsentationens transcript:

Port access  Indtil nu har vi anvendt færdige metoder til at tænde og slukke for LEDs, men den metode virker kun så længe vi arbejde med Keil boardet.  I det efterfølgende vil vi i stedet prøve at tilgå portene direkte.  I øvelsen vil vi tænde og slukke for LED 1

Find port i diagram LED 1 er forbundet til pin 8 på Port E

Find register For at skrive til et bit af gangen vil vi anvende GPIOx_BSRR til set og GPIOx_BRR til reset. Alternativt kunne vi skrive til GPIOx_ODR hvor vi kan sætte alle 16 bit på en gang

Find pin 8 configurations register For at kunne anvende GPIOE som output eller input skal vi skrive det i configurations registeret CRH. Pin 8 ligger på bit 0-3 i CRH registeret. Vi vil sætte MODE til 11 (Output max speed) CNF til 00 (GPO push pull) Bemærk at betydningen af CFN afhænger af værdien i MODE

Find IOPE Enable i APB2ENR For at kunne anvende PORT E skal den enables. Det sker i APB2ENR registeret IOPE ligger på pin 6 i APB2ENR

Kode #include int main (void) { const unsigned long led_mask = 1<<15; int i; /* Setup GPIO for LEDs */ RCC->APB2ENR |= 1 << 6; /* Enable GPIOE clock */ GPIOE->CRH = 0x ; /* Configure the GPIO for LEDs */ for (;;) { /* Loop forever */ for (i = 0; i < ; i++){} GPIOE->BSRR = led_mask; /* Turn LED on */ for (i = 0; i < ; i++){} GPIOE->BRR = led_mask; /* Turn LED off */ } Koden her anvender de registre som i forvejen er defineret.Afprøv koden. Prøv på samme måde at lave kode som aflæser input keys

Tilgå adresser med pointers I stedet for at anvende de predefinerede GPIO adresser kunne vi også finde dem i databladet og skrive til dem direkte.

Find adresse på Port E Port E starter på adresse 0x

Find offset adresse på BSRR og CRH BSRR offset er 0x10, CRH på 0x04

Find adresse på RCC_APB2ENR

#include //For at dette virker skal projektet importere ARM:CMSIS:CORE under Runtime environment Device, Startup #define GPIOE_CRH *((int *)0x ) //GPIOE address + CRH offset #define GPIOE_BSRR *((int *)0x ) //GPIOE address + BSRR offset #define GPIOE_BRR *((int *)0x ) //GPIOE address + BSRR offset #define RCC_APB2ENR *((int *)0x ) //Reset register til af GPIO int main (void) { const unsigned long led_mask = 1<<8; int i; /* Setup GPIO for LEDs */ RCC_APB2ENR |= 1 << 6; /* Enable GPIOE clock */ GPIOE_CRH = 0x ; /* Configure the GPIO for LEDs */ for (;;) { /* Loop forever */ for (i = 0; i < ; i++){} GPIOE_BSRR = led_mask; /* Turn LED on */ for (i = 0; i < ; i++){} GPIOE_BRR = led_mask; /* Turn LED off */ } Kode Koden her skriver direkte til portenes hex adresser.Afprøv koden. Prøv på samme måde at lave kode som aflæser input keys