Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2016, 18:10   #11
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
а последняя цифра это состояние выхода 0 или 1.
так и писал бы: если нечётное, тогда изменить checked(RadioButton1) на True, чётное - false.
почему BComPort и Delphi7?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 10.06.2016, 18:17   #12
Oksymoron
Новичок
Джуниор
 
Регистрация: 10.06.2016
Сообщений: 10
По умолчанию

Цитата:
Сообщение от kutani Посмотреть сообщение
так поправьте переменную на вашу 's' при чтении вместо 'str' )

Код:
procedure TMainForm.BComPort1RxChar(Sender: TObject; Count: Integer);
var s: string;
  i: integer;
begin
  s:= '';
  BComPort1.ReadStr(s, count);

  for i:= 1 to count do begin
    if Ord(s[i])=134 then RadioButton1.checked:= true;
    if Ord(s[i])=130 then RadioButton1.checked:= false;
  end;
И потом, приведите дамп с portmon вашего обмена с буратиной, так будет видно что реально шлется и будет понятно чего выделять. Скетч-то отсутствует по-прежнему )
скетч вот:
int led = 13;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
Serial.println(131);
delay(1000);
digitalWrite(led, LOW);
Serial.println(130);
delay(1000);
}
Это обычный блинк с добавлением отсылки в сериал.
изменил как вы и писали но не выходит.
Изображения
Тип файла: jpg Безымянный.jpg (114.7 Кб, 128 просмотров)

Последний раз редактировалось Oksymoron; 10.06.2016 в 18:20.
Oksymoron вне форума Ответить с цитированием
Старый 10.06.2016, 18:28   #13
Oksymoron
Новичок
Джуниор
 
Регистрация: 10.06.2016
Сообщений: 10
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
так и писал бы: если нечётное, тогда изменить checked(RadioButton1) на True, чётное - false.
почему BComPort и Delphi7?
Я не программист но мне показали начальные азы в этой программе))
Oksymoron вне форума Ответить с цитированием
Старый 10.06.2016, 18:32   #14
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

Цитата:
Serial.println(131);
почитайте справку по операторам. Print используется для передачи данных как символов, Println добавляет перевод каретки. Write передаст в бинарном виде. Соответственно, если вы используете Serial.println(131), то на верхнем уровне мы увидим 4 байта, байтовое (аски) отображение символа 1=31, 3=33, 1=33 и 13. Отсюда и прием нужно строить и нет смысла переводить в байты через ord() у меня.

Цитата:
изменил как вы и писали но не выходит.
когда копипастите, будьте внимательнее. Нахрена событие приема выкинули и вперли в клик чекера? Скопируйте код полностью без своих изысканий, раз уж так )
kutani вне форума Ответить с цитированием
Старый 10.06.2016, 18:34   #15
Oksymoron
Новичок
Джуниор
 
Регистрация: 10.06.2016
Сообщений: 10
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
так и писал бы: если нечётное, тогда изменить checked(RadioButton1) на True, чётное - false.
почему BComPort и Delphi7?
Четные или нечетные здесь не подадут я взял порт 13 так как на нем висит светодиод и я вижу каждое срабатывание, на каждый порт свой RadioButton. Когда получиться с 13 портом я все остальные допиши по примеру.
Oksymoron вне форума Ответить с цитированием
Старый 10.06.2016, 18:51   #16
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Четные или нечетные здесь не подадут я взял порт 13 так как на нем висит светодиод и я вижу каждое срабатывание
2хЯть!


нечётное число - 0-й бит = 1.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 10.06.2016, 18:52   #17
Oksymoron
Новичок
Джуниор
 
Регистрация: 10.06.2016
Сообщений: 10
По умолчанию

Цитата:
Сообщение от kutani Посмотреть сообщение
Нахрена событие приема выкинули и вперли в клик чекера?
Прошу прощения но я Вас не могу понять, для меня жаргон программиста очень сложен. Прошу Вас разъяснить мне как все исправить.
Oksymoron вне форума Ответить с цитированием
Старый 10.06.2016, 18:56   #18
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

Для начала, если справка никак не читается по религиозным соображениям, то просто взгляните в свой же код поста #3 и свой скриншот поста #12. Без комментариев )
kutani вне форума Ответить с цитированием
Старый 10.06.2016, 22:55   #19
Oksymoron
Новичок
Джуниор
 
Регистрация: 10.06.2016
Сообщений: 10
По умолчанию

Все сделал, сори за мои тормазнутость. checked не меняется(
Oksymoron вне форума Ответить с цитированием
Старый 11.06.2016, 07:38   #20
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
checked не меняется(
use a debugger
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как установить компонент bcomport в delphi7? Виктор dubStep Общие вопросы Delphi 4 22.02.2015 00:04
Терминал BComPort выдает иероглифы. azzzazzzelDEAN Компоненты Delphi 32 09.04.2014 16:18
Delphi7 PAREN_DEFO Помощь студентам 0 08.11.2011 18:20
unable to rename 'C:\ProgramFiles\Borland\Delphi7\Bi n\Delphi32.$$$' to 'C:\Program Files\Borland\Delphi7\ KazBoy Помощь студентам 1 12.04.2011 18:07