serial
- Войдите на сайт для отправки комментариев
Пнд, 01/06/2015 - 08:30
Помогите с программой! через монитор порт нужно задавать 2 числа,которые будут отвечать за кол-во оборотов шаговика! интересует сама операция передачи! заранее спасибо
Serial.parseInt
поискать никак
а если над вводить две разные скорости,для двух Шд! то как это будет выглядеть?
Да много вариантов, да хоть так
int speed1, speed2; byte OneOrTwo = 0; void loop() { if(Serial.available()) if(OneOrTwo==0) { speed1 = Serial.parseInt(); OneOrTwo=1; } else { speed2 = Serial.parseInt(); OneOrTwo=0; } }Задается попорядку, сначало скорость 1 потом скорость 2 потом снова 1 потом снова 2 и так по кругу.
if (Serial.available() > 0) { //если пришли данные char incomingByte = Serial.read(); // считываем байт if (incomingByte == 98) { //английская буква b int priem = Serial.parseInt(); } if (incomingByte == 97) { //английская буква a int priem = Serial.parseInt(); } }в мониторе пишешь b50
попадаешь в первый if
в мониторе пишешь a50
попадаешь во второй if
огромное спасибо!
if (incomingByte == 98) { //английская буква b
if (incomingByte == ' b' ) { //английская буква b
а я ломал голову :)))
я когда-то на дельфи и визуал бэсик программил )) а там со всеми чарами на много проще ) стринг используешь везде ....и не морочишь голову кавычки одинарные или двойные ))
' a ' http://arduino.ru/Reference/Char
" jhjhjkhdfkldhfl " http://arduino.ru/Reference/String
Подскажите,что делаю не так! задаю данные,а ШД не крутится(
Что вы человека путаете. Все гораздо проще.
Я ему уже писал на амперке, что есть классический пример
http://www.arduino.cc/en/Tutorial/ReadASCIIString
В мониторе вводятся числа, разделенные запятой, по переводу строки принятые значения идут на дальнейшую обработку.
#include <AccelStepper.h> AccelStepper stepper1(1, 5, 4); int a; int b; void setup(){ Serial.begin(9600); stepper1.setMaxSpeed(600); } void loop() { // if there's any serial available, read it: while (Serial.available() > 0) { a = Serial.parseInt(); b = Serial.parseInt(); if (Serial.read() == '\n') { a = 255 - constrain(a, 0, 1024); b = 255 - constrain(b, 0, 1024); Serial.print("a="); Serial.println(a); Serial.print("b="); Serial.println(b); } } //Используем полученные значения }Проверил, можно и через пробел.
Только в мониторе надо чтобы было включено добавление символа новой строки.