Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Форматирование данных и передача даных UART

Непрочитано 16.01.2015, 21:07  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от WindoЗavr Посмотреть сообщение
slycomm вроде встал нормально, а вот RX Lib нет,
А кто это? Не знаю таких.

Билдер у Вас какой?

Сообщение от WindoЗavr Посмотреть сообщение
а slycomm может без него работать?
У меня работает.

ПС Поищите книги Архангельского, очень полезны.
Реклама:
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 16.01.2015 в 21:17.
akegor вне форума  
Сказали "Спасибо" akegor
WindoЗavr (16.01.2015)
Непрочитано 16.01.2015, 21:24  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от akegor Посмотреть сообщение
А кто это? Не знаю таких.

Билдер у Вас какой?


У меня работает.

ПС Поищите книги Архангельского, очень полезны.
Билдер 6
извините за наглость) а вы можете скинуть какой нибудь рабочий проект?
мне для начала работы хоть какая то основа нужна, а в интернете я так ничего рабочего и не нашёл, куски кода, пара нерабочих проектов и описания разные
WindoЗavr вне форума  
Непрочитано 16.01.2015, 21:28  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от WindoЗavr Посмотреть сообщение
мне для начала работы хоть какая то основа нужна
Понимаю. Постараюсь подыскать подходящее. А книги поищите (может, есть в разделе "книги" или прямо спросите у выкладывающих). У меня бумажный вариант.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 16.01.2015, 22:43  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

WindoЗavr, а терминалу Ваш МК хоть что-нибудь отвечает?
Замкните выводы 2 и 3 на DB9 COM-порта компьютера, проверьте его, должно возвращаться то же, что и отправлено в порт. Дальше уже можно пробовать что-либо писать.
omercury вне форума  
Непрочитано 17.01.2015, 09:20  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от omercury Посмотреть сообщение
WindoЗavr, а терминалу Ваш МК хоть что-нибудь отвечает?
Замкните выводы 2 и 3 на DB9 COM-порта компьютера, проверьте его, должно возвращаться то же, что и отправлено в порт. Дальше уже можно пробовать что-либо писать.
я сейчас на ft232 перевёл, подключаю по usb
в протеусе с виртуальным портом и терминалом тестил - терминал то же самое выдаёт
WindoЗavr вне форума  
Непрочитано 17.01.2015, 09:24  
kosmos440o
Заблокирован
 
Регистрация: 23.09.2007
Сообщений: 761
Сказал спасибо: 84
Сказали Спасибо 352 раз(а) в 151 сообщении(ях)
kosmos440o на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Потом все равно захочется как-то программно обрабатывать полученные данные. Так что поставьте OPC сервер, напишите slave modbus функцию 3 в устройстве и не парьтесь. Неделя работы, больше п...дите тут.
План работ:
Выбрать скорость обмена
В таймере сделать прерывания не меньше 2 на 1 байт (время приёма байта - для 9600 1 мс). каждое прерывание прибавлять счётчик тишины. при достижении счётчика тишины, например, 8 (2х4байта в случае 2 прерывания на байт) выставлять счётчик тишины.
Определить состояния устройства - простой, приём данных, обработка данных, ответ, ошибка.
Если состояние "приём данных" и флаг тишины установлен, переход в обработку заброса и ответ.
В обработке запроса проверка CRC16 и допустимого диапазона данных, допустимого адреса данных, адреса устройства и функции.
Если всё нормально, подготовка байтов ответа, подсчёт CRC16 ответа. Добавление 2 байт CRC в конец сообщения. Передача сообщения.
При неправильном CRC приёма состояние ошибка - обработка ошибки и возврат в простой.

В прерывании UART скидывать флаг тишины. Там же переход из состояния простой в приём данных, после проверки адреса устройства, запихивание полученного байта в буфер. Если адрес не совпадает - состояние ошибка.
Нарисуйте на бумаге блок схему переходов состояний, потом переведите это на язык программирования - и вперёд.
Пользоваться можно будет всю жизнь и не только вам можно будет работать с Вашими устройствами.

Последний раз редактировалось kosmos440o; 17.01.2015 в 09:43.
kosmos440o вне форума  
Непрочитано 17.01.2015, 15:39  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

ТС не знает как передать 7 значений череч UART, а Вы ему про MODBUS, OPC Потом будете рассказывать про OPC клиента или брать какую-то скаду и понеслось ...

Советовали же - простейший протокол и на C# программку на страничку написать.
Boba_spb вне форума  
Сказали "Спасибо" Boba_spb
makakus (19.01.2015)
Непрочитано 17.01.2015, 15:46  
Wiza_
Гражданин KAZUS.RUN
 
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 980
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
Wiza_ на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Полностью тему не читал. В php есть функция split. Посмотрите как работает
Wiza_ вне форума  
Непрочитано 17.01.2015, 16:55  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

c# скачал, порт читает, пока выдаёт иероглифы
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace SimpleSerial
{
    public partial class Form1 : Form
    {
        string RxString;
        public Form1()
        {
            InitializeComponent();
        }

        private void buttonStart_Click(object sender, EventArgs e)
        {
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 9600;

            serialPort1.Open();
            if (serialPort1.IsOpen)
            {
                buttonStart.Enabled = false;
                buttonStop.Enabled = true;
                textBox1.ReadOnly = false;
            }
        }
        private void buttonStop_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
            {
                serialPort1.Close();
                buttonStart.Enabled = true;
                buttonStop.Enabled = false;
                textBox1.ReadOnly = true;
            }
        }
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (serialPort1.IsOpen) serialPort1.Close();
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!serialPort1.IsOpen) return;
            char[] buff = new char[1];
            buff[0] = e.KeyChar;
            serialPort1.Write(buff, 0, 1);
            e.Handled = true;
        }
        private void DisplayText(object sender, EventArgs e)
        {
            textBox1.AppendText(RxString);
        }
        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            RxString = serialPort1.ReadExisting();
            this.Invoke(new EventHandler(DisplayText));
        }
    }
}

но если с С++ получится что нибудь, буду его использовать
WindoЗavr вне форума  
Непрочитано 18.01.2015, 02:03  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

WindoЗavr, как обещал, проект для Билдера 6-го.
Если захочется покатать - нужно два СОМ порта, один запрашивает данные, другой отвечает. Это в одной программе.
Вложения:
Тип файла: rar Test_for_WZ.rar (377.0 Кб, 59 просмотров)
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
WindoЗavr (18.01.2015)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Беспроводная передача данных 1кб/с , 3км. Как и чем? Zemlyanov Микроконтроллеры, АЦП, память и т.д 5 29.01.2015 10:02
Тормоза при передаче данных через UART в Bluetooth модуль rus_12345 Микроконтроллеры, АЦП, память и т.д 8 05.01.2015 19:39
Передача данных через UART в AVR микроконтроллерах. harry7777 AVR 54 09.11.2013 20:40
Передача данных в UART из текстового файла bombardier_rotax Proteus 6 24.02.2010 20:50
PIC16F877A pawelk Микроконтроллеры, АЦП, память и т.д 17 28.05.2005 23:54


Часовой пояс GMT +4, время: 04:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.