Rob Toulson / Mbed 2 deprecated PE_14-01_DigitalOut1

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /*Program Example 14.1: Sets up a digital output pin using control registers, and flashes an led.                                      
00002                                                                          */
00003 // function prototypes                                   
00004 void delay(void);
00005 
00006 //Define addresses of digital i/o control registers, as pointers to volatile data
00007 #define FIO2DIR0       (*(volatile unsigned char *)(0x2009C040)) 
00008 #define FIO2PIN0       (*(volatile unsigned char *)(0x2009C054))
00009 
00010 int main() {
00011   FIO2DIR0=0xFF;     // set port 2, lowest byte to output
00012   while(1) {
00013     FIO2PIN0 |= 0x01;     // OR bit 0 with 1 to set pin high
00014     delay();
00015     FIO2PIN0 &= ~0x01;   // AND bit 0 with 0 to set pin low
00016     delay();
00017   }
00018 }
00019 //delay function
00020 void delay(void){                                         
00021   int j;                      //loop variable j
00022   for (j=0;j<1000000;j++) {     
00023     j++;
00024     j--;                      //waste time
00025   }
00026 }
00027