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 | }
|