lkdfjlakdjsflasdkjflkjasdlxkfghskjdmfnvcm,a wejdfkjadsb cvljdgacus;b faLRFBhetg;8bdvan;/IHgtnudihdgrg;a/wlhrfp;ouitdscagjh
Dependencies: mbed
Fork of display_nums2 by
display.cpp
- Committer:
- billymark
- Date:
- 2018-04-02
- Revision:
- 5:10c020b45c1f
- Parent:
- 3:1acb956e61b2
File content as of revision 5:10c020b45c1f:
#include <io_pins.h> #include <display.h> #include <mbed.h> #include <stdlib.h> #include <spi_fix.h> Serial pc_display(USBTX, USBRX); DigitalOut dsp_ncs_display(DSP_AS1107_NCS); spi_cfg AS1107 = { SPI_AS1107_ID, DSP_AS1107_NCS, AS1107_MODE, AS1107_FREQ, AS1107_BITS}; void bin2bcd_array_mod(int *bcdArr, int num){ for(int i = 0; i < 4; i++){ bcdArr[i] = 0; } int i = 0; while(num>0){ bcdArr[3-i] = num%10; num = num/10; i = i+1; } } void display_init(){ // Configuring the Controller spi_send(AS1107, 0x0f01); wait(1.5); spi_send(AS1107, 0x0F00); spi_send(AS1107, 0x0A0F); spi_send(AS1107, 0x0B04); spi_send(AS1107, 0x0C01); //set to normal shutdown mode spi_send(AS1107, 0x090F); //configures the decode register spi_send(AS1107, DISPLAY_1); //Digit 1 is 0 spi_send(AS1107, DISPLAY_2); spi_send(AS1107, DISPLAY_3); spi_send(AS1107, DISPLAY_4); spi_send(AS1107, LED_DISPLAY); } void bin2bcd_array_sprintf(int *bcdArr, int num){ for(int i = 0; i < 4; i++){ bcdArr[i] = 0; } char buffer[5]; sprintf(buffer, "%d", num); if (num<10){ bcdArr[3] = buffer[0]; } else if(num <100){ bcdArr[2] = buffer[0]; bcdArr[3] = buffer[1]; } else if(num < 1000){ bcdArr[1] = buffer[0]; bcdArr[2] = buffer[1]; bcdArr[3] = buffer[2]; } else{ for(int i = 0; i < 4; i++){ bcdArr[i] = buffer[i]-0x30; } } }