0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 2
1

Serial port. Изменение значений

24.08.2015, 10:47. Показов 1242. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Месяц назад я начал учить C#. Моя задача - считать значения с серийного порта, а затем конвертировать их в дробные числа диапазона 0.00 - 1.00;

Для этого я пользуюсь методом:
C#
1
2
3
4
5
6
7
public class Mapper
{
    public decimal mapValue(decimal x, decimal in_min, decimal in_max, decimal out_min, decimal out_max)
    {
        return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
    }
}
Вот весь код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class Mapper
{
    public decimal mapValue(decimal x, decimal in_min, decimal in_max, decimal out_min, decimal out_max)
    {
        return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
    }
}
class Program 
{
    public static void Main(string [] args)
    {
        decimal readed, sending;
        
        SerialPort serialPort = new SerialPort("COM4", 9600);
        Mapper map = new Mapper();
        
        serialPort.Open();
        
        for(int i = 0; i > 10000; i++)
        {
            readed = Convert.ToDecimal(serialPort.ReadLine());
            
            sending = map.mapValue(readed, 0, 1023, 1, 0);
            
            Console.WriteLine(sending);
        }
        Console.ReadLine();
    }
}
Но в экран консоли ничего не выводится. Помогите, пожалуйста.
0
24.08.2015, 10:47
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.08.2015, 10:47
Ответы с готовыми решениями:

Отправка массива в serial port
есть массив байтов byte ak={ 00, 03, 01, 00, 00, 0C, CRC }; как отправить ругается на последние 2 из string в byte не возможно...

Прием и передача строки Serial Port
Пишу прогу на подобии терминала серийного порта. Встала делема и похожего варианта кода я не нашел, нужно отправлять и принимать строку,...

Читать и передавать данные с serial port
Можно ли одновременно и читать и передавать в порт данные? Можно ли сделать так: ф-ия постоянно читает данные с порта, а когда надо...

3
Эксперт .NET
 Аватар для insite2012
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
24.08.2015, 11:08 2
Цитата Сообщение от Artem Grukov Посмотреть сообщение
Но в экран консоли ничего не выводится.
А из порта точно приходят данные? Посмотрите сниффером порта, так ли это.
0
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 2
24.08.2015, 11:19  [ТС] 3
Цитата Сообщение от insite2012 Посмотреть сообщение
А из порта точно приходят данные? Посмотрите сниффером порта, так ли это.
Да. Все приходит. Я что то похимичил с кодом и теперь не выводится.
0
Эксперт .NET
 Аватар для kolorotur
17798 / 12949 / 3381
Регистрация: 17.09.2011
Сообщений: 21,236
24.08.2015, 14:54 4
Цитата Сообщение от Artem Grukov Посмотреть сообщение
C#
1
for(int i = 0; i > 10000; i++)
Этот цикл отработает ровно 0 раз, потому ничего и не выводится.

Измените условие на <.
0
24.08.2015, 14:54
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.08.2015, 14:54
Помогаю со студенческими работами здесь

Serial port оптимальный метод обработки пакетов
Всем привет. Хочу у Вас спросить совета... Пишу драйвер для общения прибора и ПО встроенного на компьютере. Использую SerialPort вот...

Как принять 16 бит через Serial port?
Добрый день. Хочу осуществить следующую задачу: имеется МК, который оцифровывает некий сигнал. Все данные складываются в память. АПЦ -...

Serial port для приложения под магазин win 8
Не могу найти Serial port при создании приложения под магазин win 8

Работа с Serial port и шиной 1-Wire. Датчик температуры DS18B20. Кто сталкивался?
Добрый день! Подскажите пожалуйста, как получить идентификатор код устройства при работе с 1-wire? Вот цитата из статьи:...

Можно ли, используя serial port, подать сигнал на школьный звонок, чтобы привезти его в действие?
Можно ли, используя serial port, подать сигнал на школьный звонок, чтобы привезти его в действие? Просто мне непонятно, как это сделать....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Микросервис с нуля на Go с Kafka
stackoverflow 12.02.2025
Когда я впервые столкнулся с необходимостью разделить монолитное приложение на микросервисы, передо мной встал вопрос выбора правильных технологий и подходов. После долгих экспериментов с различными. . .
Микросервис с нуля на C# с RabbitMQ
stackoverflow 12.02.2025
Переход от монолитной архитектуры к микросервисной - это не просто модное веяние, а закономерный этап эволюции программных систем. В отличие от монолита, где все компоненты тесно связаны между собой. . .
Docker для начинающих
stackoverflow 12.02.2025
В современном мире разработки программного обеспечения все чаще возникает необходимость быстро и надежно разворачивать приложения в различных средах. Разработчики постоянно сталкиваются с проблемой. . .
Создание бота для Телеграм на C#
stackoverflow 12.02.2025
В современном мире корпоративных коммуникаций Telegram-боты становятся незаменимым средством автоматизации бизнес-процессов и взаимодействия с сотрудниками. Как создать такого бота, который сможет. . .
Операторы сравнения (== и ===) в JavaScript
hw_wired 12.02.2025
JavaScript предоставляет два основных оператора сравнения - оператор нестрогого равенства (==) и оператор строгого равенства (===). На первый взгляд они могут показаться очень похожими, но их. . .
Определение адреса, откуда репозиторий Git был клонирован
hw_wired 12.02.2025
Система контроля версий Git хранит всю информацию о репозитории в специальной директории . git, включая данные об удаленных источниках. Эта информация необходима для синхронизации изменений между. . .
Объединение нескольких коммитов Git в один
hw_wired 12.02.2025
Представьте, что вы работаете над новой функциональностью и создали десяток небольших коммитов: исправление опечатки, форматирование кода, добавление комментариев, реализация основной логики. Каждый. . .
Как добавить локальную ветку в удалённый репозиторий Git
hw_wired 12.02.2025
Локальная ветка в Git - это изолированная линия разработки, существующая только на вашем компьютере. Представьте себе дерево с множеством веток - каждая ветка может расти в своем направлении, не. . .
Статическое отражение в C++
stackoverflow 12.02.2025
Статическое отражение представляет собой мощный механизм, позволяющий программам анализировать и манипулировать своей собственной структурой во время компиляции. Эта возможность открывает. . .
C++ в 21 веке - Бьярне Страуструп
stackoverflow 12.02.2025
В современном мире разработки программного обеспечения C++ продолжает оставаться одним из ключевых языков программирования, несмотря на свой солидный возраст - более 45 лет с момента создания. За это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru