Assembly example.

Dependencies:   mbed

Committer:
hudakz
Date:
Sat Mar 09 10:56:02 2019 +0000
Revision:
0:c40fd5b610ee
Initial release.

Who changed what in which revision?

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