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

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

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

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

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

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


 
Опции темы

Здесь обсуждается C#?

Непрочитано 08.02.2021, 22:50  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?

Самое непонятное - ГДЕ отобразить? В микроконтроллере, на подключенном дисплее? Или в компе? Тогда причем тут микроконтроллер?

Вообще, это обычный тупой форматированный вывод через printf построчно, в ANSI-кодировке. В каждой строке: первый столбец: значение переменной адреса, затем ANSI-символ : (двоеточие), затем через пробел значения ваших полученных данных
Реклама:
NewWriter вне форума  
Непрочитано 08.02.2021, 22:51  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?

Я наверное не умею правильно формулировать вопросы
Мне из-за разового проекта изучать новую оболочку?
Я работаю под виндой, любой линукс - мимо меня.
Если это принципиально - лепится конвертер фалов для АУПП. Да-да: еще есть такое на планете Земля. Вручную - ну очень долго. Всё железо уже готово, вот с компа загнать дамп не могу.
Код:
               while (!streamReader.EndOfStream) //Цикл длиться пока не будет достигнут конец файла
                {
                    str += streamReader.ReadLine(); //В переменную str по строчно записываем содержимое файла
                }
//                rtbDisplay.Text = str; 
                char[] array = str.ToCharArray();
                string final = "";
                foreach (var i in array)
                {
                   string hex = String.Format("{0:X}", Convert.ToInt32(i));
                    final += hex.Insert(0,"") + " ";
                }
                final = final.TrimEnd();
                rtbDisplay.Text = final;
__________________
Смотрящий под ноги - звёзды видит в лужах.

Последний раз редактировалось rusyvochka; 08.02.2021 в 22:57.
rusyvochka вне форума  
Непрочитано 08.02.2021, 22:57  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?

Кто-нить вообще понял, чего хочет топикстартер? Красиво отобразить на компе байты, отправляемые в микроконтроллер с компа? Но зачем, черт подери? Открываем в любом двоичном редакторе и смотрим как хотим.
Миниатюры:
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 0
Размер:	14.2 Кб
ID:	160556  
NewWriter вне форума  
Непрочитано 08.02.2021, 23:01  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?

Сообщение от NewWriter Посмотреть сообщение
чего хочет топикстартер?
Открыть "на компе" hex файл, увидеть "красиво" содержимое, по запросу от пика - переслать один байт в СОМ-порт. Компьютеру ждать следующего запроса от пика или, при запросе "ошибки" повторить.
И так - до конца фала. В идеале - переданный байт "закрасить" или поменять цвет.
Так нормально?
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 08.02.2021, 23:02  
Driver_gv
Временная регистрация
 
Регистрация: 09.06.2006
Сообщений: 75
Сказал спасибо: 0
Сказали Спасибо 26 раз(а) в 21 сообщении(ях)
Driver_gv на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?

Если знаете VB6, то на C# все похоже. Создаем пустой проект WindowsForms, добавляем SerialPort и OpenFileDialog из панели элементов. Пару кнопочек.

Загрузить файл текстовый, рабираем по строкам

Код:
        // **************************************************  **********************
        //   Загрузка файла 
        // **************************************************  **********************
        private void button3_Click(object sender, EventArgs e)
        {//download
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "HEX files (*.HEX)|*.HEX|All files (*.*)|*.*";

            if (openFileDialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            try
            {
                // Читаем  файл
                string filename = openFileDialog.FileName;
                filelines = File.ReadAllLines(filename);
                //  textBox2.Text = filelines[0];
                Count_Strok = filelines.Length;
                label1.Text = "Load:" + Count_Strok.ToString();
                label1.BackColor = Color.White;
                Count_Data = Count_Strok;
                label1.Text = "Download";
                label1.BackColor = Color.Aqua;
                progressBar1.Maximum = Count_Strok;

                button3.Enabled = false;
                button4.Enabled = true;

                Count_Strok = 0;
                Command_5();
                
            }
            catch// (Exception ex)
            {
                // label1.Text = "Error";
                //Console.WriteLine("ERROR: невозможно открыть порт:" + e.ToString());
                textBox2.Text = "ERROR: невозможно открыть файл "; // + err.ToString();
                // textBox1.BackColor = Color.Red;
                return;
            }
        }
        // **************************************************  **********************

Отпрвка файла построчно по другой кнопочке.

Код:
        // **************************************************  **********************
        //   Отправка данных в контроллер 
        // **************************************************  **********************
        private void Command_5()
        {

            string ss;
            ss = filelines[Count_Strok];


            Count_Strok ++;
            serialPort1.Write( ss + "\r\n" );


            progressBar1.Value = Count_Strok;
            
            if (Count_Strok == Count_Data) 
            {
                Count_Strok = 0;
            }
            
        }
Все просто. Примеры взяты из рабочего проекта, наверно придется лишнее убрать, там прогресс бвр, текстовые окна....
__________________
picping.lg.ua
Driver_gv вне форума  
Сказали "Спасибо" Driver_gv
rusyvochka (08.02.2021)
Непрочитано 08.02.2021, 23:06  
Driver_gv
Временная регистрация
 
Регистрация: 09.06.2006
Сообщений: 75
Сказал спасибо: 0
Сказали Спасибо 26 раз(а) в 21 сообщении(ях)
Driver_gv на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?

Прием - отдельный поток. Нужен таймер.
Код:
// **************************************************  **********************
        //   обработчик события приема байтов в порт - отдельный поток
        //   складывает в буффер, выставляет флаги
        // **************************************************  **********************

        
        string Reply = "";
        bool Flaf_Send_info = false;
        bool Flag_reply = false;

        private void serialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {   //This is to handle the data when it comes
            //Do something on data received  ( Обработчик событий для DataReceived)


            //  узнаем сколько байт пришло
            int buferSize = serialPort1.BytesToRead;
            Byte[] buf = new Byte[buferSize]; //To store the received data.
            for (int i = 0; i ‹ buferSize; ++i)
            {
                //  читаем по одному байту
                byte bt = (byte)serialPort1.ReadByte();
                buf [i] = bt;
            }

            // печать
            byte[] bDefBytes = Encoding.Convert(Encoding.GetEncoding("windows-1251"), Encoding.Default, buf);
            string s = Encoding.Default.GetString(bDefBytes);
            //textBox2.Text = textBox2.Text + s; //нельзя ,не тот поток. 
            Reply = Reply + s;
            Flag_reply = true;
        }
        // **************************************************  **********************


        string ReplyALL = "";
        int Len_Text = 0;
        
        // **************************************************  **********************
        //   Проверка прнятых данных - ассинхронный поток по таймеру. 
        // **************************************************  **********************
        private void timer1_Tick(object sender, EventArgs e)
        {

            string  st = textBox3.Text;
            Len_Text = st.Length;

            if (Len_Text › 220)
            {
                textBox3.Text = st.Remove(0, Len_Text - 220 );
            }



            if (Flag_reply == false)
            {
                return;
            }

            Flag_reply = false;

            textBox3.Text= textBox3.Text  + Reply + "\r\n" ;


            if (Reply.Contains("\r"))  // 0x0d
            {
                ReplyALL =  Reply;
                Reply = "";
            }
            else
            {
                return;
            }
            textBox2.Text = ReplyALL;

                
            string s1 = ReplyALL;
            //   проверка принятых данных


            //------------
            if (s1.Contains("VER="))
            {
                button5.Enabled = true;
                //button4.Enabled = true;
                button3.Enabled = true;
                button4.Enabled = true;
                label1.Text = "Ready";
                label1.BackColor = Color.Gainsboro;
                timer2.Enabled = false;
                s1 = "";
                return;
            }
            s1 = "";
            //------------
        }
__________________
picping.lg.ua
Driver_gv вне форума  
Сказали "Спасибо" Driver_gv
rusyvochka (08.02.2021)
Непрочитано 08.02.2021, 23:15  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?

Сообщение от Driver_gv Посмотреть сообщение
Отпрвка файла построчно по другой кнопочке.
нужно - побайтно, по запросу от пика.
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 08.02.2021, 23:18  
Driver_gv
Временная регистрация
 
Регистрация: 09.06.2006
Сообщений: 75
Сказал спасибо: 0
Сказали Спасибо 26 раз(а) в 21 сообщении(ях)
Driver_gv на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?

Там все есть. Есть прием и проверка данных. Измените на ваш запрос. и вызывайте отправку. Например вызвав тот же обработчик нажатия кнопки. Но в любом случае придется напрячь голову и сделать для себя.
__________________
picping.lg.ua
Driver_gv вне форума  
Непрочитано 08.02.2021, 23:40  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?


Вернулись к началу.
Это всё уже готово!
Отобразить и побайтно отправить по запросу....
Две страницы воды...
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 08.02.2021, 23:49  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Здесь обсуждается C#?

rusyvochka, как говорится, грамотно составленное техзадание содержит в себе уже половину решения проблемы!
А вы даже техзадание составить не можете! Ну и как проблему решить? Я так понимаю, что в компьютерах вы вообще дилетант. Ну так попросите того, кто хоть чуть-чуть в них разбирается написать, что нужно!
Наверняка готовое уже существует (возможно, даже и под игровыми приставками!).

Что до си-диеза, то, думаю, вы вообще неправильно выбрали инструментарий! Ну и спрашиваете не там, где могут находиться любители этой дряни. Здесь обычно народ на С пишет, ну или на С++…
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!

Последний раз редактировалось eddy; 08.02.2021 в 23:52.
eddy вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анекдот, анекдот ... (часть# 1 - 8 (ничего кроме анекдотов)) DK Отвлекитесь, эмбеддеры! 24300 23.10.2019 19:28
Почему здесь люди обсуждают такие простые вещи? Скайнет Отвлекитесь, эмбеддеры! 89 06.09.2015 23:40
Проверенная плат и PCB IDC2 лежит здесь. DL36 Микроконтроллеры, АЦП, память и т.д 1 20.02.2007 01:07
SPI карта памяти... Дима Микроконтроллеры, АЦП, память и т.д 29 19.07.2005 09:03
32 Mb flash spi Дима Микроконтроллеры, АЦП, память и т.д 17 14.08.2003 12:28


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


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