URS - LV11 - HMI - 3. zadatak - Servo
Dependencies: mbed
Revision 1:a59853df510d, committed 2022-01-24
- Comitter:
- dfraj
- Date:
- Mon Jan 24 09:13:29 2022 +0000
- Parent:
- 0:0bb9abf8a951
- Child:
- 2:71767bf8e14d
- Commit message:
- izmjena logike provjere podatka
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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);