A sample code for training. PWM controlled LEDs on mbed.

Dependencies:   mbed

Committer:
okano
Date:
Thu Feb 18 12:20:26 2010 +0000
Revision:
0:c65547fd8960

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okano 0:c65547fd8960 1 /*
okano 0:c65547fd8960 2 * mbed demo code
okano 0:c65547fd8960 3 *
okano 0:c65547fd8960 4 * This code has been made for a training session.
okano 0:c65547fd8960 5 *
okano 0:c65547fd8960 6 * Copyright (c) 2010 NXP Semiconductors Japan
okano 0:c65547fd8960 7 * Released under the MIT License: http://mbed.org/license/mit
okano 0:c65547fd8960 8 *
okano 0:c65547fd8960 9 * revision 1.0 18-Feb-2010 1st release
okano 0:c65547fd8960 10 */
okano 0:c65547fd8960 11
okano 0:c65547fd8960 12 #include "mbed.h"
okano 0:c65547fd8960 13
okano 0:c65547fd8960 14 PwmOut led[] = { LED4, LED3, LED2, LED1 };
okano 0:c65547fd8960 15
okano 0:c65547fd8960 16 int main() {
okano 0:c65547fd8960 17
okano 0:c65547fd8960 18 unsigned char rate = 0;
okano 0:c65547fd8960 19
okano 0:c65547fd8960 20 while ( 1 )
okano 0:c65547fd8960 21 {
okano 0:c65547fd8960 22 led[ 0 ] = rate / 255.0;
okano 0:c65547fd8960 23 led[ 2 ] = rate / 255.0;
okano 0:c65547fd8960 24 led[ 1 ] = 1- (rate / 255.0);
okano 0:c65547fd8960 25 led[ 3 ] = 1- (rate / 255.0);
okano 0:c65547fd8960 26 rate++;
okano 0:c65547fd8960 27
okano 0:c65547fd8960 28 wait( 0.01 );
okano 0:c65547fd8960 29 }
okano 0:c65547fd8960 30 }
okano 0:c65547fd8960 31
okano 0:c65547fd8960 32
okano 0:c65547fd8960 33 #if 0
okano 0:c65547fd8960 34 for ( int i = 0, r = rate; i < 4; i++, r += 32 )
okano 0:c65547fd8960 35 led[ i ] = ((r & 0x80) ? (unsigned char)(~r) : (unsigned char)r) / 255.0;
okano 0:c65547fd8960 36
okano 0:c65547fd8960 37 rate += 4;
okano 0:c65547fd8960 38
okano 0:c65547fd8960 39 wait( 0.01 );
okano 0:c65547fd8960 40 #endif
okano 0:c65547fd8960 41
okano 0:c65547fd8960 42 #if 0
okano 0:c65547fd8960 43 led[ 0 ] = (unsigned char)rate / 255.0;
okano 0:c65547fd8960 44 led[ 2 ] = (unsigned char)rate / 255.0;
okano 0:c65547fd8960 45 led[ 1 ] = 1- ((unsigned char)rate / 255.0);
okano 0:c65547fd8960 46 led[ 3 ] = 1- ((unsigned char)rate / 255.0);
okano 0:c65547fd8960 47 rate++;
okano 0:c65547fd8960 48
okano 0:c65547fd8960 49 wait( 0.01 );
okano 0:c65547fd8960 50 #endif