Форум
 

Вернуться   Форум "Фрикер Клуб" - кодграббер своими руками > Основной раздел > Микроконтроллеры

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 02.05.2018, 13:37   #1
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,201
По умолчанию От простого к сложному Пишем приложение на Windows

От простого к сложному Пишем приложение на Windows
Основная Цель: создать пакет-анализатор, лог-анализатор ( ввиде осцилограмм), блок управления МК.

Буду ваять на WPF C# Microsoft Visual Studio 2017.
Кстати: С# более легчее в понимании чем С++, а так же он очень похож на Android.А конечная цель: это создание проги на смартфоне.

7. прием данных с USART микроконтроллера на комп.

7.1. Я зделал тестовую прогу на Arduino. скетч во вложении. Кстати там показано, как вообще не пользоваться ардуиновскими функциями. Функции взяты из предыдущих примеров.
Смысл такой в той проге: настраиваем USART на 50000-8-n-1.
через 128 микросекунд USART передаст один раз 256 байт: 0х00 до 0хFF. Если хочется повторить действия, придеться нажать на RESET. так как функция передачи данных обитает не в основоном цикле loop().
PHP код:
...
 for ( 
int i=0i<256;i++)
    {      
      
USART_Transmit_8_NoBuffer(count); // 
      
delayMicroseconds(128); 
    
count++;
    }
... 

7.2. на стороне компа.
Во вложении шаблон исходника.
надо выбрать COM-порт и baud rate = 500000. И текстовом Control RishTextBox мона увидеть эти данные.
7.3. Алгоритм такой: открываем порт, и считываем данные с буффера и заносим данные в текстовом виде. Потом, соответсвенно отчищаем сам буффер.
Размер ТЕСТОВОГО буффера 256 байт. Ясень пень, в реале он будет гораздо больше.
7.4. Важно! Вывод данных в RishTextBox - это очень медленная тема. Так что это просто как Пример. Вывод данных у нас будет в графическом виде осцилограмм.

Когда код увидешь, ты не пугайся. Это кажется что сложно. На самом деле если понять как и что, то потом будет легко. Всегда труднее начать. А потом как по маслу пойдет. Кстати современные IDE до такой степени упрощают работу, что прогер думает лишь о логике программы. А всё остальное, взаимодействие с железом, графика и т.д. - берёт на себя IDE.
Советую, всётаки начать с Hello, world -это типа блинк для графических программ. В гугле море инфы.
Вложения
Тип файла: rar phreakerclubSerial1.rar (40.9 Кб, 12 просмотров)

Последний раз редактировалось EPA; 03.05.2018 в 08:35.
EPA вне форума   Ответить с цитированием
Старый 02.05.2018, 16:34   #2
DIVER_SANT Меню Пользователя
Модератор
 
Аватар для DIVER_SANT
 
Регистрация: 27.03.2011
Сообщений: 2,204
По умолчанию Re: От простого к сложному Пишем приложение на Windows

Цитата:
Сообщение от EPA
Смысл такой в той проге: настраиваем USART на 50000-8-n-1.

Странная скорость Усарта-Чем обоснована?
__________________
Правильно поставленный вопрос-на половину полученный ответ;)
++++++++++++++++++++++++++++++++++++++
[url]http://www.youtube.com/watch?v=ktnn-s3ebzw[/url]
DIVER_SANT вне форума   Ответить с цитированием
Старый 02.05.2018, 16:56   #3
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,201
По умолчанию Re: От простого к сложному Пишем приложение на Windows

Твой usart , который на Arduino 16МГц вообще можно разогнать в асинхронном режиме до 1 мильона бодрейт . А в синхроном режиме до 8 мильонов . При скорости 500000 один байт будет передаваться за 20мксек. Всё короче зависит от кабеля и FTDI. Я когда делал тахин граббер у меня грелась FTDI .ХЗ говорят потому что кытай. )))
EPA вне форума   Ответить с цитированием
Старый 02.05.2018, 21:38   #4
DIVER_SANT Меню Пользователя
Модератор
 
Аватар для DIVER_SANT
 
Регистрация: 27.03.2011
Сообщений: 2,204
По умолчанию Re: От простого к сложному Пишем приложение на Windows

Ну вот отчет,скорость не стандартная-простые терминалы не понимают.Да и хелло ворлд не вывалился,а должен был.Видать виной все таки ch431 в адаптере usb
Изображения
Тип файла: jpg test.jpg (103.4 Кб, 27 просмотров)
__________________
Правильно поставленный вопрос-на половину полученный ответ;)
++++++++++++++++++++++++++++++++++++++
[url]http://www.youtube.com/watch?v=ktnn-s3ebzw[/url]
DIVER_SANT вне форума   Ответить с цитированием
Старый 02.05.2018, 21:50   #5
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,201
По умолчанию Re: От простого к сложному Пишем приложение на Windows

Terminal by Br@y понимает. находим текстбокс customBR и там пишем 500000.
В место хеловорда у фрикеров массив из хекса . По твоему скрину у тебя всё правильно. Начинается 00 и кончается FF. посмотри через терминал Terminal by Br@y. Так и было задумано

Добавлено через 3 минуты
Завтра прикрутим Лог Анализатора. Мона будет смотреть осцилограммы.
EPA вне форума   Ответить с цитированием
Старый 02.05.2018, 21:52   #6
DIVER_SANT Меню Пользователя
Модератор
 
Аватар для DIVER_SANT
 
Регистрация: 27.03.2011
Сообщений: 2,204
По умолчанию Re: От простого к сложному Пишем приложение на Windows

Цитата:
Сообщение от EPA
Terminal by Br@y понимает. находим текстбокс customBR и там пишем 500000.
В место хеловорда у фрикеров массив из хекса . По твоему скрину у тебя всё правильно. Начинается 00 и кончается FF. посмотри через терминал Terminal by Br@y. Так и было задумано

Добавлено через 3 минуты
Завтра прикрутим Лог Анализатора. Мона будет смотреть осцилограммы.

Да,с визуализацией формы сигнала было бы интеремсснее.Я такую прогу видел,чтоб IR сигнал смотреть-форму и тайминги
__________________
Правильно поставленный вопрос-на половину полученный ответ;)
++++++++++++++++++++++++++++++++++++++
[url]http://www.youtube.com/watch?v=ktnn-s3ebzw[/url]
DIVER_SANT вне форума   Ответить с цитированием
Старый 02.05.2018, 22:01   #7
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,201
По умолчанию Re: От простого к сложному Пишем приложение на Windows

Завтра Дай Бог увидешь. В конце концов будет не просто осцилограмма сигнала с таймингами, а вывод в ХЕКС формате пойманных пакетов. Надо причесать кодинг, а времени маловато.

Добавлено через 2 минуты
Типа той проги с Doorhanom
EPA вне форума   Ответить с цитированием
Старый 03.05.2018, 12:21   #8
legrand Меню Пользователя
Член клуба
 
Регистрация: 08.09.2011
Сообщений: 291
По умолчанию Re: От простого к сложному Пишем приложение на Windows

Цитата:
Сообщение от EPA
Смысл такой в той проге: настраиваем USART на 50000-8-n-1.
через 128 микросекунд USART передаст один раз 256 байт: 0х00 до 0хFF. Если хочется повторить действия, придеться нажать на RESET. так как функция передачи данных обитает не в основоном цикле loop().
PHP код:
...
 for ( 
int i=0i<256;i++)
    {      
      
USART_Transmit_8_NoBuffer(count); // 
      
delayMicroseconds(128); 
    
count++;
    }
... 
.

вставлю свои три копейки -
PHP код:
...
 for ( 
int i=0i<256;i++)
    {      
      
USART_Transmit_8_NoBuffer(i); // 
      
delayMicroseconds(128); 
    }
... 
.[/QUOTE]
legrand вне форума   Ответить с цитированием
Старый 03.05.2018, 12:56   #9
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,201
По умолчанию Re: От простого к сложному Пишем приложение на Windows

Абсолютно верно! Тока у меня этот count для последующего примера будет уже не просто count++.
и итератор i будет уже не 256, а например больше 4096. Кстати 4096байт -это дефолтовый размер буффера на компе. Так вот будет задачка такая как принять байты, их обработать и не переполнить буффер на компе. ОдниМ словом чтоб serialport не захлебнулся. А то потом хрен поймёшь где начало а где конец.

Добавлено через 12 минут
Кстати и из-за этого функция НЕ в основном цикле. Нам для отладки необходимо контролировать процесс с помощью кнопки ресет.
EPA вне форума   Ответить с цитированием
Старый 17.05.2018, 04:13   #10
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,201
Talking

Для очередного эксперимента, я подготовил на ардуине передачу по USART кучу байтов до 10000 байт за раз.
1) эмитация преамбулы и дата keeloq TE=320 микросек
2) эмуляция меандра длительностью полупериодов 256 микросек.

Цель: принять все байты на стороне компа, по возможности без ошибок, а самое главное ,чтоб COM порт не захлебнулся от 10000байтов. Допустим обычные проги терминалы типа от Br@y умирают сразу. одним словом самый настоящий ДиДос с последующим вылетом. Кстати таким принципом хакеры и ушатывают проги жертв. Тока мы не жертвы.

Для наглядности сути процесса я прикрутил к проге квазиослика. И мля получился настоящий Логический анализатор, но он нам НАХ не нужен, нам нужем Пакет-Анализатор.
Так вот, я скидывал исходники Wave декодер, а там есть класс formatPacket, если его прилепить к нашей проге, вот и будет настоящий Пакет-Анализатор с Алго.

ЗЫ. Блин времени мало, из за этого задержки. В следующий раз будет показано как передавать команды с компа на камень.


ЗЗЫ. В принципе уже почти всё есть:
1) прошивка на камень
2) функции приёма данных с камня
3) функция преобразования байтов в массив длительностей периода
4) функция определения пакета, кстати она почти никак не отличается от классического приёма кодировок, лежащих в открытом ввиде на ресурсе.
Теперь уже мона собрать этот конструктор Lego и сканировать радиоэфир. Хочу напомнить что прошива на МК весит чуть более 1 кило. , соответсвенно при желании подойдет даже самый слабый камень. Использовать МК с 32К(как в этом примере)-это не позволительная роскошь. Если убрать выброс пакетов, т.е. простой лог/пакет анализатор, то ваще будет весить 200 байт полезного кода без инит периферии. А вообще эту идею мне посоветовал Paul74s., тока как обычно я понял посвоему.
Вложения
Тип файла: rar phreakerclubSerial_part2.rar (258.8 Кб, 13 просмотров)

Последний раз редактировалось EPA; 17.05.2018 в 06:29.
EPA вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

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



Текущее время: 06:07. Часовой пояс GMT +3.


vBulletin 4.1.0 Перевод: zCarot
(C) www.phreakerclub.com
Яндекс.Метрика