ARM assembly language to control LEDs

Dependencies:   mbed

Fork of ECE_4180_Lab1_P1_Arm by Zack Braun

Committer:
jboettcher
Date:
Sun Nov 06 22:36:01 2016 +0000
Revision:
1:1d27be3b634d
Parent:
0:94cb0da877bc
complete;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zbraun6 0:94cb0da877bc 1 #include "mbed.h"
zbraun6 0:94cb0da877bc 2 // This program will blink LED1 and LED4
zbraun6 0:94cb0da877bc 3 // using assembly language for LED1 and
zbraun6 0:94cb0da877bc 4 // API functions for LED4
zbraun6 0:94cb0da877bc 5 // declare external assembly language function (in a *.s file)
zbraun6 0:94cb0da877bc 6 extern "C" int my_asm(int value);
zbraun6 0:94cb0da877bc 7 // declare LED outputs – let C set them up as output bits
zbraun6 0:94cb0da877bc 8 DigitalOut myled1(LED1);
zbraun6 0:94cb0da877bc 9 DigitalOut myled4(LED4);
zbraun6 0:94cb0da877bc 10 DigitalOut digOut(p30);
zbraun6 0:94cb0da877bc 11 DigitalIn digIn(p21);
zbraun6 0:94cb0da877bc 12
zbraun6 0:94cb0da877bc 13 int main() {
zbraun6 0:94cb0da877bc 14 int value = 0;
zbraun6 0:94cb0da877bc 15 while(1) {
zbraun6 0:94cb0da877bc 16 if (digIn) {
zbraun6 0:94cb0da877bc 17 value = 1;
zbraun6 0:94cb0da877bc 18 } else {
zbraun6 0:94cb0da877bc 19 value = 0;
zbraun6 0:94cb0da877bc 20 }
zbraun6 0:94cb0da877bc 21 //call assembly language function to control LED1
zbraun6 0:94cb0da877bc 22 my_asm(value);
zbraun6 0:94cb0da877bc 23
zbraun6 0:94cb0da877bc 24 wait(0.2);
zbraun6 0:94cb0da877bc 25 }
zbraun6 0:94cb0da877bc 26 }