1.3''OLED
Dependencies: mbed QEI OLED_SSD1306_SH1106 I2C_SSD1306_nucleo_l432KC
main.cpp@16:a72f4818d591, 2022-05-27 (annotated)
- Committer:
- aiyazaole
- Date:
- Fri May 27 00:41:07 2022 +0000
- Revision:
- 16:a72f4818d591
- Parent:
- 14:d7bc532b2133
OLED_SSD1306_SH1106
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kaizen | 0:81a58b2fb28e | 1 | #include "mbed.h" |
kaizen | 0:81a58b2fb28e | 2 | #include "Adafruit_SSD1306.h" |
aiyazaole | 16:a72f4818d591 | 3 | #include "QEI.h" |
bibi94 | 14:d7bc532b2133 | 4 | |
aiyazaole | 16:a72f4818d591 | 5 | I2C i2c(PA_10,PA_9); |
aiyazaole | 16:a72f4818d591 | 6 | Adafruit_SH1106_I2c myOled(i2c,NC,0x78,64,128); |
bibi94 | 14:d7bc532b2133 | 7 | |
aiyazaole | 16:a72f4818d591 | 8 | QEI EnB(D5,D6,NC,500,QEI::X4_ENCODING);//4倍编码器 |
aiyazaole | 16:a72f4818d591 | 9 | //QEI EnB(PA_5,PA_6,NC,500);//2倍编码器 |
aiyazaole | 16:a72f4818d591 | 10 | int main() |
aiyazaole | 16:a72f4818d591 | 11 | { |
aiyazaole | 16:a72f4818d591 | 12 | //i2c.frequency(100000); |
aiyazaole | 16:a72f4818d591 | 13 | i2c.start(); |
aiyazaole | 16:a72f4818d591 | 14 | myOled.begin(); |
bibi94 | 14:d7bc532b2133 | 15 | myOled.display(); |
bibi94 | 14:d7bc532b2133 | 16 | wait(0.5); |
aiyazaole | 16:a72f4818d591 | 17 | myOled.clearDisplay(); |
aiyazaole | 16:a72f4818d591 | 18 | //myOled.setTextColor(1); |
aiyazaole | 16:a72f4818d591 | 19 | myOled.setTextSize(3); |
aiyazaole | 16:a72f4818d591 | 20 | myOled.printf("Du long\r"); |
aiyazaole | 16:a72f4818d591 | 21 | int oldPosition = -1; |
aiyazaole | 16:a72f4818d591 | 22 | int newposition; |
aiyazaole | 16:a72f4818d591 | 23 | while(1) { |
aiyazaole | 16:a72f4818d591 | 24 | newposition = EnB.getPulses(); |
aiyazaole | 16:a72f4818d591 | 25 | if (oldPosition == -1) { |
aiyazaole | 16:a72f4818d591 | 26 | myOled.setTextCursor(40,32); |
aiyazaole | 16:a72f4818d591 | 27 | myOled.setTextSize(2); |
aiyazaole | 16:a72f4818d591 | 28 | myOled.printf("ready!\r"); |
aiyazaole | 16:a72f4818d591 | 29 | myOled.display(); |
aiyazaole | 16:a72f4818d591 | 30 | } |
aiyazaole | 16:a72f4818d591 | 31 | if (newposition < 0) |
aiyazaole | 16:a72f4818d591 | 32 | newposition = -newposition; |
aiyazaole | 16:a72f4818d591 | 33 | if (newposition > oldPosition) { |
aiyazaole | 16:a72f4818d591 | 34 | myOled.clearDisplay(); |
aiyazaole | 16:a72f4818d591 | 35 | oldPosition = newposition; |
aiyazaole | 16:a72f4818d591 | 36 | myOled.setTextCursor(40,32); |
aiyazaole | 16:a72f4818d591 | 37 | myOled.setTextSize(3); |
aiyazaole | 16:a72f4818d591 | 38 | myOled.printf("%d\r",oldPosition); |
aiyazaole | 16:a72f4818d591 | 39 | myOled.display(); |
aiyazaole | 16:a72f4818d591 | 40 | } |
aiyazaole | 16:a72f4818d591 | 41 | } |
aiyazaole | 16:a72f4818d591 | 42 | } |