Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
16.01.2015, 21:07
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,904
Сказал спасибо: 2,542
Сказали Спасибо 11,816 раз(а) в 5,922 сообщении(ях)
|
Re: Форматирование данных и передача даных UART
Сообщение от WindoЗavr
|
slycomm вроде встал нормально, а вот RX Lib нет,
|
А кто это? Не знаю таких.
Билдер у Вас какой?
Сообщение от WindoЗavr
|
а slycomm может без него работать?
|
У меня работает.
ПС Поищите книги Архангельского, очень полезны.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
Последний раз редактировалось akegor; 16.01.2015 в 21:17.
|
|
|
|
16.01.2015, 21:24
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: Форматирование данных и передача даных UART
Сообщение от akegor
|
А кто это? Не знаю таких.
Билдер у Вас какой?
У меня работает.
ПС Поищите книги Архангельского, очень полезны.
|
Билдер 6
извините за наглость) а вы можете скинуть какой нибудь рабочий проект?
мне для начала работы хоть какая то основа нужна, а в интернете я так ничего рабочего и не нашёл, куски кода, пара нерабочих проектов и описания разные
|
|
|
|
16.01.2015, 21:28
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,904
Сказал спасибо: 2,542
Сказали Спасибо 11,816 раз(а) в 5,922 сообщении(ях)
|
Re: Форматирование данных и передача даных UART
Сообщение от WindoЗavr
|
мне для начала работы хоть какая то основа нужна
|
Понимаю. Постараюсь подыскать подходящее. А книги поищите (может, есть в разделе "книги" или прямо спросите у выкладывающих). У меня бумажный вариант.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
16.01.2015, 22:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Форматирование данных и передача даных UART
WindoЗavr, а терминалу Ваш МК хоть что-нибудь отвечает?
Замкните выводы 2 и 3 на DB9 COM-порта компьютера, проверьте его, должно возвращаться то же, что и отправлено в порт. Дальше уже можно пробовать что-либо писать.
|
|
|
|
17.01.2015, 09:20
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
Re: Форматирование данных и передача даных UART
Сообщение от omercury
|
WindoЗavr, а терминалу Ваш МК хоть что-нибудь отвечает?
Замкните выводы 2 и 3 на DB9 COM-порта компьютера, проверьте его, должно возвращаться то же, что и отправлено в порт. Дальше уже можно пробовать что-либо писать.
|
я сейчас на ft232 перевёл, подключаю по usb
в протеусе с виртуальным портом и терминалом тестил - терминал то же самое выдаёт
|
|
|
|
17.01.2015, 09:24
|
|
Заблокирован
Регистрация: 23.09.2007
Сообщений: 761
Сказал спасибо: 84
Сказали Спасибо 352 раз(а) в 151 сообщении(ях)
|
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.
|
|
|
|
17.01.2015, 15:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Форматирование данных и передача даных UART
ТС не знает как передать 7 значений череч UART, а Вы ему про MODBUS, OPC ![Весело](images/smilies/icon_laugh.gif) Потом будете рассказывать про OPC клиента или брать какую-то скаду и понеслось ...
Советовали же - простейший протокол и на C# программку на страничку написать.
|
|
|
Сказали "Спасибо" Boba_spb
|
|
|
17.01.2015, 15:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 982
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
|
Re: Форматирование данных и передача даных UART
Полностью тему не читал. В php есть функция split. Посмотрите как работает
|
|
|
|
17.01.2015, 16:55
|
|
Заблокирован
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
|
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));
}
}
} |
но если с С++ получится что нибудь, буду его использовать
|
|
|
|
18.01.2015, 02:03
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,904
Сказал спасибо: 2,542
Сказали Спасибо 11,816 раз(а) в 5,922 сообщении(ях)
|
Re: Форматирование данных и передача даных UART
WindoЗavr, как обещал, проект для Билдера 6-го.
Если захочется покатать - нужно два СОМ порта, один запрашивает данные, другой отвечает. Это в одной программе.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:53.
|
|