20-04-2022, 02:15
Dzień Dobry
Próbuje zmienić ten kod aby działał na pinach PB10 /PB11, jak do tej pory nie wyszło, może ktoś wie, jak to zrobić.
Na razie działa na PB6 / PB7.
STM32F103
Próbuje zmienić ten kod aby działał na pinach PB10 /PB11, jak do tej pory nie wyszło, może ktoś wie, jak to zrobić.
Na razie działa na PB6 / PB7.
STM32F103
Kod:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
#define ANALOG_IN_PIN PA6
//////
TwoWire Wire2(PB11, PB10);
///////
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
float in_voltage = 0.0;
void setup()
{
///////////////////////////
Wire2.begin();
Wire2.setClock(400000);
///////////////////////////
if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS))
{
for (;;); // Don't proceed, loop forever
}
display.clearDisplay();
}
void loop() {
in_voltage = analogRead(ANALOG_IN_PIN) * 3.3 / 805.0;
display.setCursor(0, 0); //oled display
display.setTextSize(4);
display.setTextColor(WHITE);
display.print(in_voltage, 2);
display.println("V");
display.display();
delay(500);
display.clearDisplay();
}