Tedd OKANO
/
_training_pwm
A sample code for training. PWM controlled LEDs on mbed.
main.cpp@0:c65547fd8960, 2010-02-18 (annotated)
- Committer:
- okano
- Date:
- Thu Feb 18 12:20:26 2010 +0000
- Revision:
- 0:c65547fd8960
Who changed what in which revision?
User | Revision | Line number | New 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 |