Program to demonstrate NXP semiconductor's PCA9955B chip working with the BBC micro:bit
Dependencies: PCA995xA microbit
Fork of PCA9955A_Hello by
This is a simple program that allows you to control each port on a PCA9955B connected over i2c to a BBC micro:bit using a simple USB serial communication program.
I've written it to work with the 2 digit SMD soldering kit I designed. Drop me an email at tb942@hotmail.co.uk for further info on that...
main.cpp@1:8b5c26cc269c, 2015-02-25 (annotated)
- Committer:
- nxp_ip
- Date:
- Wed Feb 25 06:48:49 2015 +0000
- Revision:
- 1:8b5c26cc269c
- Parent:
- 0:ec8cc77909e5
- Child:
- 2:cfa5103184b1
fix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nxp_ip | 0:ec8cc77909e5 | 1 | #include "mbed.h" |
nxp_ip | 0:ec8cc77909e5 | 2 | |
nxp_ip | 0:ec8cc77909e5 | 3 | #include "PCA9955A.h" |
nxp_ip | 0:ec8cc77909e5 | 4 | PCA9955A led_cntlr( p28, p27, 0x02 ); // SDA, SCL, Slave_address(option) |
nxp_ip | 0:ec8cc77909e5 | 5 | |
nxp_ip | 1:8b5c26cc269c | 6 | int main() |
nxp_ip | 0:ec8cc77909e5 | 7 | { |
nxp_ip | 0:ec8cc77909e5 | 8 | led_cntlr.current( ALLPORTS, 1.0 ); // Set all ports output current 100% |
nxp_ip | 0:ec8cc77909e5 | 9 | |
nxp_ip | 0:ec8cc77909e5 | 10 | while(1) { |
nxp_ip | 0:ec8cc77909e5 | 11 | for ( int port = 0; port < led_cntlr.number_of_ports(); port++ ) { |
nxp_ip | 0:ec8cc77909e5 | 12 | for ( int i = 1; i <= 100; i++ ) { |
nxp_ip | 0:ec8cc77909e5 | 13 | led_cntlr.pwm( port, (float)i / 100.0 ); |
nxp_ip | 0:ec8cc77909e5 | 14 | wait( 0.01 ); |
nxp_ip | 0:ec8cc77909e5 | 15 | } |
nxp_ip | 0:ec8cc77909e5 | 16 | } |
nxp_ip | 0:ec8cc77909e5 | 17 | led_cntlr.pwm( ALLPORTS, 0.0 ); // Set all ports output PWM 0% |
nxp_ip | 0:ec8cc77909e5 | 18 | } |
nxp_ip | 0:ec8cc77909e5 | 19 | } |