Всем привет. Помогите начинающему . суть вопроса в следующем , пытаюсь связаться с через ком порт с терминальной прогой вроде без особых проблем связь устанавливается , но есть одна странность , не получается преобразовать данные для передачи , мне нужно чтобы в компорт пришло однобайтное число , например число 10 должно передаваться как 10 а не 31 и 30 . подскажите что не так делаю. зарание всем спасибо.
ps странно не могу добавить файл, и что это значит < У вас не хватает прав для выполнения этой операции>
Этот топик читают: Гость
Ответов: 8
Рейтинг: 0
|
|||
карма: 1 |
|
Ответов: 1379
Рейтинг: 86
|
|||
карма: 0 |
|
Ответов: 8
Рейтинг: 0
|
|||
карма: 1 |
| ||
файлы: 1 | code_18767.txt [1.4KB] [515] |
Ответов: 3349
Рейтинг: 233
|
|||
карма: 1 |
|
Разработчик
Ответов: 26115
Рейтинг: 2126
|
|||
Тут надо использовать вот такую связку, тогда будет передаваться байт в бинарном представлении
Ivann писал(а): Mode: IntToBinИван, я тебя уже предупреждал -- не знаешь, не лезь с советами. Следующий раз выпишу тебе профилактический бан на несколько часов |
|||
карма: 22 |
|
Ответов: 3349
Рейтинг: 233
|
|||
nesco, а IntToBin чем не подходит? или я чтото не так понял?
|
|||
карма: 1 |
|
Разработчик
Ответов: 26115
Рейтинг: 2126
|
|||
Ivann писал(а): IntToBinBin, в данном случае -- текстовое представление бинарных данных. Вот скажи, зачем передавать восемь лишних байт, когда само значение занимает всего один байт |
|||
карма: 22 |
| ||
Голосовали: | Ivann |
Ответов: 3349
Рейтинг: 233
|
|||
nesco, сhar - это символ = 1 байту
|
|||
карма: 1 |
|
Ответов: 8
Рейтинг: 0
|
|||
nesco огромное спасибо , сам связать два компонента не догадался , буду дальше пробовать , только теперь принимать байты с микроконтроллера
|
|||
карма: 1 |
|
Ответов: 1161
Рейтинг: 160
|
|||
Ivann писал(а): сhar - это символ = 1 байтуЭто у нас так. Есть еще и WideChar, где символ - 2 бита nesco писал(а): Тут надо использовать вот такую связку, тогда будет передаваться байт в бинарном представленииА зачем перевод Str -> Int? Ведь второй конвертер работать с данными будет не как со строкой, а как с числом code_18768.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_18768.txt [591B] [510] |
Разработчик
Ответов: 26115
Рейтинг: 2126
|
|||
LainX писал(а): А зачем перевод Str -> Int?В принципет да, не нужен, тк String в конверторе читается как Integer, да и FormatStr там лишний, если ничего не использовать больше |
|||
карма: 22 |
|
Ответов: 8
Рейтинг: 0
|
|||
И вновь вопрос??? Как то странно организован компорт на прием байтов , для того чтобы началось чтение с ком порта нужно воспроизвести какое нибудь событие тобиш нажать на кнопку или еще как нибудь заставить его читать. А разве ком порт не генерит прерывание которое видела бы программа и по нему начинала бы заполнять буфер???? Да и насчет буфера какой максимальный размер возможно установить?? А то у меня при 266 прога вылетает с ошибкой. объясните пожалуйста что я не так делаю ?
|
|||
карма: 1 |
| ||
файлы: 1 | code_18779.txt [644B] [462] |
Ответов: 1328
Рейтинг: 69
|
|||
sl_64, поставь таймер и читай побайтно
------------ Дoбавленo в 22.15: sl_64 писал(а): А то у меня при 266 прога вылетает с ошибкой. |
|||
карма: 2 |
|
Ответов: 8
Рейтинг: 0
|
|||
Konst писал(а): поставь таймер и читай побайтноСпасибо Konst , но в моем устройстве такой метод ( через таймер)чреват потерей данных. Нашел на форуме асинхронный ком порт - большое спасибо автору за этот компонент, но есть вопрос как его прикрутить к программе . код я положил в папку с кодами ини с инишниками иконку к иконкам в результате пример компилится , но хотелось бы чтобы этот элемент сом порта был видим во вкладке элементы-> разное -> порты. |
|||
карма: 1 |
|
Ответов: 1161
Рейтинг: 160
|
|||
sl_64, для установки было достаточно закинуть ini файл в HiAsm. HiAsm бы сам все куда надо бы раскидал.
|
|||
карма: 0 |
|