Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@2:b8c6902f2ff7, 2015-03-04 (annotated)
- Committer:
- nxp_ip
- Date:
- Wed Mar 04 08:38:06 2015 +0000
- Revision:
- 2:b8c6902f2ff7
- Parent:
- 0:71a4bafbcad2
- Child:
- 3:0143415767e4
Library update
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| nxp_ip | 0:71a4bafbcad2 | 1 | #include "mbed.h" |
| nxp_ip | 0:71a4bafbcad2 | 2 | #include "PCA9632.h" |
| nxp_ip | 0:71a4bafbcad2 | 3 | |
| nxp_ip | 0:71a4bafbcad2 | 4 | PCA9632 led_cntlr( p28, p27, 0xC4 ); // SDA, SCL, Slave_address(option) |
| nxp_ip | 0:71a4bafbcad2 | 5 | LedPwmOut led( led_cntlr, L0 ); // for LED0 pin |
| nxp_ip | 0:71a4bafbcad2 | 6 | |
| nxp_ip | 0:71a4bafbcad2 | 7 | int main() |
| nxp_ip | 0:71a4bafbcad2 | 8 | { |
| nxp_ip | 0:71a4bafbcad2 | 9 | // |
| nxp_ip | 0:71a4bafbcad2 | 10 | // Here are two types of PWM control samples |
| nxp_ip | 0:71a4bafbcad2 | 11 | // (User can choose one of those interface to set the PWM.) |
| nxp_ip | 0:71a4bafbcad2 | 12 | // |
| nxp_ip | 0:71a4bafbcad2 | 13 | // 1st sample is using LedPwmOut API. |
| nxp_ip | 0:71a4bafbcad2 | 14 | // It provides similar interface like PwmOut of mbed-SDK |
| nxp_ip | 0:71a4bafbcad2 | 15 | // |
| nxp_ip | 0:71a4bafbcad2 | 16 | // 2nd sample is using PCA9632 class function. |
| nxp_ip | 0:71a4bafbcad2 | 17 | // the 'pwm()' function takes LED channel number and duty-ratio value |
| nxp_ip | 0:71a4bafbcad2 | 18 | // |
| nxp_ip | 0:71a4bafbcad2 | 19 | |
| nxp_ip | 0:71a4bafbcad2 | 20 | while ( 1 ) { |
| nxp_ip | 0:71a4bafbcad2 | 21 | |
| nxp_ip | 0:71a4bafbcad2 | 22 | // |
| nxp_ip | 0:71a4bafbcad2 | 23 | // 1st sample is using LedPwmOut API. |
| nxp_ip | 0:71a4bafbcad2 | 24 | // PWM control via LedPwmOut |
| nxp_ip | 0:71a4bafbcad2 | 25 | // |
| nxp_ip | 0:71a4bafbcad2 | 26 | for ( int i = 0; i < 3; i++ ) { |
| nxp_ip | 2:b8c6902f2ff7 | 27 | for( float p = 0.0f; p < 1.0f; p += 0.01f ) { |
| nxp_ip | 0:71a4bafbcad2 | 28 | led = p; // Controls LED0 pin |
| nxp_ip | 2:b8c6902f2ff7 | 29 | wait( 0.01 ); |
| nxp_ip | 0:71a4bafbcad2 | 30 | } |
| nxp_ip | 0:71a4bafbcad2 | 31 | } |
| nxp_ip | 0:71a4bafbcad2 | 32 | |
| nxp_ip | 0:71a4bafbcad2 | 33 | // |
| nxp_ip | 0:71a4bafbcad2 | 34 | // 2nd sample is using PCA9632 class function. |
| nxp_ip | 0:71a4bafbcad2 | 35 | // PWM control by device class function call |
| nxp_ip | 0:71a4bafbcad2 | 36 | // |
| nxp_ip | 0:71a4bafbcad2 | 37 | for ( int i = 0; i < 3; i++ ) { |
| nxp_ip | 2:b8c6902f2ff7 | 38 | for( float p = 0.0f; p < 1.0f; p += 0.01f ) { |
| nxp_ip | 2:b8c6902f2ff7 | 39 | led_cntlr.pwm( 3, p ); // Controls LED1 pin |
| nxp_ip | 2:b8c6902f2ff7 | 40 | wait( 0.01 ); |
| nxp_ip | 0:71a4bafbcad2 | 41 | } |
| nxp_ip | 0:71a4bafbcad2 | 42 | } |
| nxp_ip | 0:71a4bafbcad2 | 43 | } |
| nxp_ip | 0:71a4bafbcad2 | 44 | } |
PCA9632 : 4ch LED driver (voltage switch type)