Teste de Tela

Dependencies:   BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG mbed

Committer:
marcusncunha
Date:
Fri Dec 08 19:17:27 2017 +0000
Revision:
2:ae8636da1252
Parent:
0:9b2b74c6af2f
Projeto

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcusncunha 0:9b2b74c6af2f 1 /*
marcusncunha 0:9b2b74c6af2f 2 Header for MCP3201 Analog SAR Converter with SPI interface
marcusncunha 0:9b2b74c6af2f 3 Version: 1.0
marcusncunha 0:9b2b74c6af2f 4 Julio S.
marcusncunha 0:9b2b74c6af2f 5 */
marcusncunha 0:9b2b74c6af2f 6
marcusncunha 0:9b2b74c6af2f 7 // SPI clock freq. in HZ
marcusncunha 0:9b2b74c6af2f 8 // Limits from MCP3201 datasheet are:
marcusncunha 0:9b2b74c6af2f 9 // 1500000Hz when vdd=5V
marcusncunha 0:9b2b74c6af2f 10 // 800000Hz when vdd=2.7V
marcusncunha 0:9b2b74c6af2f 11 // 1MHz should work and is the default value.
marcusncunha 0:9b2b74c6af2f 12 #define MCP3201_CLK_FREQ 1000000
marcusncunha 0:9b2b74c6af2f 13
marcusncunha 0:9b2b74c6af2f 14 // MCP3201 SPI channel pinout
marcusncunha 0:9b2b74c6af2f 15 //SPI spi(p5, p6, p7); // mosi, miso, sclk
marcusncunha 0:9b2b74c6af2f 16 // p5 not wired, there are no commands to send for MCP3201 device
marcusncunha 0:9b2b74c6af2f 17 SPI MCP3201(SPI_MOSI, SPI_MISO, SPI_SCK);
marcusncunha 0:9b2b74c6af2f 18 // take control from CS pin to avoid transition changes between write commands
marcusncunha 2:ae8636da1252 19 DigitalOut cs(PB_8);
marcusncunha 0:9b2b74c6af2f 20 // Read the analog value from MCP3201.
marcusncunha 0:9b2b74c6af2f 21 // return 12bit interger (0...4095)
marcusncunha 0:9b2b74c6af2f 22 int ReadAnalogMCP3201(void)
marcusncunha 0:9b2b74c6af2f 23 {
marcusncunha 0:9b2b74c6af2f 24 //uncommente below line only if the MCP3201_CLK_FREQ is diferrent of 1MHz
marcusncunha 0:9b2b74c6af2f 25 //MCP3201.frequency(MCP3201_CLK_FREQ);
marcusncunha 0:9b2b74c6af2f 26
marcusncunha 0:9b2b74c6af2f 27 cs=0;
marcusncunha 0:9b2b74c6af2f 28 int high_byte = MCP3201.write(0x00);
marcusncunha 0:9b2b74c6af2f 29 int low_byte = MCP3201.write(0x00);
marcusncunha 0:9b2b74c6af2f 30 cs=1;
marcusncunha 0:9b2b74c6af2f 31 int conv_result = ((high_byte & 0x1f) << 7) | ((low_byte >> 1) & 0x7f);
marcusncunha 0:9b2b74c6af2f 32
marcusncunha 0:9b2b74c6af2f 33 return conv_result;
marcusncunha 0:9b2b74c6af2f 34 }