STM32L ADC mit Mbed

OP #4777664
Lesenswert?

Hallo zusammen,

ich bin gerade dabei von arduino/Avr auf ARM um zu steigen.
Ich verwende ein STM32l0538
http://www.st.com/en/evaluation-tools/32l0538discovery.html.

Als IDE benutze ich SW4STM32.

Leider habe ich Probleme mit dem ADC, dieser scheint zu funktionieren 
aber die Eingangs Impedanz des ADC ist 25 Ohm! Scheinbar wird der ADC 
Pin auf Low gezogen. Mir ist aber nicht klar wieso.

Im Anhang findet ihr das das SW4STM32 Projekt mit dem mbed Libs.

In den Beispielen für den ADC wird der Pin vorher nicht aktiv auf High-Z 
gesetzt.

Könnt ihr mir sagen was ich für High-Z tuen muss und warum der Pin 
Momentan LOW ist ?
1
#include "mbed.h"
2
#include "mbed_config.h"
3
#include "EPD_GDE021A1.h"
4

5
#define EPD_CS       PA_15
6
#define EPD_DC       PB_11
7
#define EPD_RESET    PB_2
8
#define EPD_BUSY     PA_8
9
#define EPD_POWER    PB_10
10
#define EPD_SPI_MOSI PB_5
11
#define EPD_SPI_MISO PB_4
12
#define EPD_SPI_SCK  PB_3
13

14
EPD_GDE021A1 epd(EPD_CS, EPD_DC, EPD_RESET, EPD_BUSY, EPD_POWER, EPD_SPI_MOSI, EPD_SPI_MISO, EPD_SPI_SCK);
15

16
DigitalOut led1(LED1);
17
AnalogIn   ain(PA_1);
18

19
//width 48
20
//height 26
21
int main()
22
{
23
    led1 = 1;
24
    char buf[10];
25
    uint16_t analoginunit16=0;
26
    while(1) {
27
        epd.Clear(EPD_COLOR_WHITE);
28
        analoginunit16=ain.read_u16();
29
        sprintf(buf, "%d",analoginunit16);
30
        epd.DisplayStringAtLine(0, (uint8_t*)buf, LEFT_MODE);
31
        sprintf(buf, "%d",10000);  
32
        epd.DisplayStringAtLine(1, (uint8_t*)buf, LEFT_MODE);
33
        epd.RefreshDisplay();
34
        led1 = !led1;
35
        wait(1);
36
    }
37
}
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren