Julien VILLEMEJANE
/
IeTI_MOD24_nrf_emit
nRF_24 module library for MBED / Emitter Test Program
main.cpp
- Committer:
- villemejane
- Date:
- 2021-02-09
- Revision:
- 2:76fbb91a0331
- Parent:
- 0:96c89b4dc711
File content as of revision 2:76fbb91a0331:
/* mbed Microcontroller Library * Copyright (c) 2019 ARM Limited * SPDX-License-Identifier: Apache-2.0 */ #include "mbed.h" #define SAMPLES 512 Serial debug_pc(USBTX, USBRX); Serial dmx(PC_10, PC_11); DigitalOut out_tx(D10); DigitalOut start(D11); DigitalOut enableDMX(D5); AnalogIn variationR(A0); AnalogIn variationG(A1); AnalogIn variationB(A2); DigitalIn my_bp(USER_BUTTON); char dmx_data[SAMPLES] = {0}; char nb = 0; void dmx_update(); int main() { debug_pc.baud(9600); debug_pc.printf("Essai DMX512\r\n"); dmx.baud(250000); dmx.format (8, SerialBase::None, 2); enableDMX = 0; // Eurolite LED H2O - 5 channels / adress 0 dmx_data[0] = 0x00; // Red dmx_data[1] = 0x00; // Green dmx_data[2] = 0x00; // Blue dmx_data[3] = 0xFF; // Dimmer - Max = 255 dmx_data[4] = 0x00; // On = 0 while(1) { int valeur = variationR.read_u16() >> 8; dmx_data[0] = valeur; valeur = variationG.read_u16() >> 8; dmx_data[1] = valeur; valeur = variationB.read_u16() >> 8; dmx_data[2] = valeur; dmx_data[4] = 0; // on dmx_update(); wait_us(100000); } } void dmx_update(){ enableDMX = 1; start = 1; // /start out_tx = 0; // break wait_us(88); out_tx = 1; // mb wait_us(8); out_tx = 0; // break start = 0; dmx.putc(0x00); // Start for(int i = 0; i < SAMPLES; i++){ dmx.putc(dmx_data[i]); // data } wait_us(23000); // time between frame }