URS - LV11 - HMI - 3. zadatak - Servo
Dependencies: mbed
Diff: main.cpp
- Revision:
- 1:a59853df510d
- Parent:
- 0:0bb9abf8a951
- Child:
- 2:71767bf8e14d
diff -r 0bb9abf8a951 -r a59853df510d main.cpp --- a/main.cpp Wed Jan 19 14:42:24 2022 +0000 +++ b/main.cpp Mon Jan 24 09:13:29 2022 +0000 @@ -1,26 +1,25 @@ -#include "mbed.h" - +#include "mbed.h" + Serial nextion(p28, p27); PwmOut servo(p21); - + char buffer[20]; int znak = 0; - + uint8_t pozicija = 0; - + void Rx_interrupt(void){ char c; - + if(nextion.readable()) { c = nextion.getc(); buffer[znak] = c; znak++; - - if ((znak >= 3) && (buffer[znak-1] == 0xff) && (buffer[znak-2] == 0xff) && (buffer[znak-3] == 0xff)) { - buffer[znak-3] = '\0'; + + if ((znak >= 2) && (buffer[znak-1] == 0x0d)) { pozicija = 0; for(int i = 0; i < 3; i++) { - if(buffer[i] == '\0') break; + if(buffer[i] == 0x0d) break; pozicija = pozicija * 10 + (buffer[i] - 48); } servo.pulsewidth_us(5.56*pozicija+1000); @@ -29,7 +28,7 @@ } } } - + int main(){ nextion .attach(&Rx_interrupt, Serial::RxIrq); servo.period(0.02);