Змінюй хід війни! Допомагай ЗСУ!

Электрофлуд :)

🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #881
Люби Друзи :D, подскажите, плиз, на C#, в Вижуал Студио, организация обмена данными через порты, может быть организована аппаратно-программными ссредствами собственных библиотек, или же мне каждый раз от-это :) работать с массивом на прерывании + таймер? Флаг приема байта у них Эсть? :)
Не-не, не подумайте, все работает, просто хочу расширить познания! :)


Не знаю как на шарпе, а на плюсах проще всего работать с портом как с обычным потоком читай файлом.
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #882
Не знаю как на шарпе, а на плюсах проще всего работать с портом как с обычным потоком читай файлом.

:) Не-не, именно дот нет.. :)
public Form1()
{
InitializeComponent();
serialPort1.Open();
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
....
...}
...
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{

s1 = serialPort1.ReadExisting();
if (exFlag == 1) { timer1.Start(); ....
....
....

Я о упрощении этого момента. :)


}
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #883
:) Не-не, именно дот нет.. :)
public Form1()
{
InitializeComponent();
serialPort1.Open();
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
....
...}
...
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{

s1 = serialPort1.ReadExisting();
if (exFlag == 1) { timer1.Start(); ....
....
....

Я о упрощении этого момента. :)


}
Евент и делегата объявить - религия запрещает? Шарпы это не асм :) в них нет флагов. Есть event и delegate. Евент -само собой понятно... считай его прерыванием, делегат - процедура в каком-либо модуле, которая выполняется если происходит евент.

собсно это наиболее приближенная к прерываниям хня в дот нете... Ещё ближе - лезь в вин API :)

P.S. Только делегаты будет описать посложнее, чем твои 7 строк :) Зато расово верно и признано :)
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #884
Евент и делегата объявить - религия запрещает? Шарпы это не асм :) в них нет флагов. Есть event и delegate. Евент -само собой понятно... считай его прерыванием, делегат - процедура в каком-либо модуле, которая выполняется если происходит евент.

собсно это наиболее приближенная к прерываниям хня в дот нете... Ещё ближе - лезь в вин API :)

P.S. Только делегаты будет описать посложнее, чем твои 7 строк :) Зато расово верно и признано :)
Привет, Рес! :)
Тяжко эту стену долбить без "подпитки извне".. :)
Пишешь, работает, но ведь знаешь, что можно еще короче и лучше сделать! :D хочется! :D
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #885
ЩИТО? Ждать пока отправится сидя в таймере?
У AVR всегда были флаги око2нчания приема и передачи, и прерывание от них.
Будь он в режиме UART, SPI или хер там в каком.

Или я не понял вопрос? %)
:D Таки не понял!
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #886
Привет, Рес! :)
Тяжко эту стену долбить без "подпитки извне".. :)
Пишешь, работает, но ведь знаешь, что можно еще короче и лучше сделать! :D хочется! :D
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


События это особый тип многоадресных делегатов, которые можно вызвать только из класса или структуры, в которой они объявлены (класс издателя). Если на событие подписаны другие классы или структуры, их методы обработчиков событий будут вызваны когда класс издателя инициирует событие.
Собственно, если ты пишешь, соблюдая ООП - только этот путь правильный. Возможно есть дебри, чтобы отлавливать прерывание с самого модуля USART периферии материнки, но, думаю - это лишнее и из под C# туда добраться будет ещё тяжелее, чем из под WIN API от XP, где это уже гемор (она в отличие от 98й, не позволяет работать с периферией напрямую, только через API).

Задай класс UART, где будут все методы и поля, относящиеся к RS232. Класс в ООП - асинхронная структура. Инкапсуляция вообще должна закрывать его от прямого вмешательства... ели ты хочешь, чтобы RS232 что-то совершил по изменению в строке ввода данных - создай в его классе метод и подпиши его на евент, какой придумаешь для строки (у неё их стандартных море, можно дописать свой вдобавок). Если хочешь, чтобы что-то куда-то происходило по получению бацта по RS232, или по переполнению буфера, который является массивом класса UART (не забываем - ни один другой модуль не должен иметь прямого доступа к этому буферу, инкапсуляция, ёпт!) - создай в классе UART необходимый евент и подпиши на него метод в классе, какой тебе надо.

Всё. Точка. Правильные способы закончились. Шаг вправо-шаг влево = попытка к бегству, армия шарпистов уже заготовиля тухлые яица и гнилые помидоры. Затаились сцуки...
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #887
Рес, да пусть "таяться"! :))) Знаешь, я считаю, что все что "работает", и на что не ругается компилятор - правильно! :) А все остальное дело удобства и скорости достижения цели... :)
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #888
Рес, да пусть "таяться"! :))) Знаешь, я считаю, что все что "работает", и на что не ругается компилятор - правильно! :) А все остальное дело удобства и скорости достижения цели... :)

Когда расширять функционал будешь - поймёшь почему я прав.
Я тож брыкался, когда после асма C# осваивал (а С и ++ та ки не полюбил - там, где я пишу - они = зло, разве только к армам притыкаются, там ассёмблер задроченый). Потом я решил сделать прогу для снифинга и декодирования пакетов по разным протоколам и интерфейсам под адаптеры USB на базе МК (до железа так руки и не дошли - не нашлось практического смысла, так как задача, под которую это было интересно - отпала сама собой).
И всего одной фичи хватило, чтобы понять накуя это надо.
Я сделал всего лиш 2 режима расположения окон, как в винампе - отрываешь окно терминала от окна управления и настроек - оно висит автономн, оба окна перемещаются только если их лично тягать мышью. Придвигаешь его ближе определённого расстояния - окно терминала прилипает к этой шапке и потом следит за её положением и ездит за ней.
Кнопа, позволяющая выстроить все окна каскадом (ну 10 терминалов открыто, не все ж на экран помещаются, кого-то на панель сложили, кого-то загнали за край экрана) - сломала мне моск в поисках изящного решения методом "а-ля асм", в смысле - флажочками и т.д...
И вот эта тривиальная задача (на спеке в бейсике написать 15 мин делов), как оказалось, в С# нормально по другому не решается.

А потом, когда интерфейс приведен в соответствие ООП - приходит понимание "почему так надо делать". Для сравнения надо написать так, так и так. когда сравнишь одно с другим - всё встанет на свои места.

P.S. Настоящая заковыка настала, когда я сделал возможность более одного терминала :D Вот там бе эвента стало тяжко. А с евентом - пофиг сколько их.

Просто поверь - так надо, я сломал кучу копий об мозг моего друга - програмиста. Но мозг прграмиста твёрд и неприклонен - он таки оказался прав. Он хороший програмист :)

P.P.S. Да, в С# УЖЕ есть механизм замены прерываний. Мне кажется, если есть молоток - нехрен гвозди штанген-циркулем или плоскогубцами забивать, а тем более - отвёрткой вкрутить пататься. Просто в асме ты имел дело с шурупами, а тут - гвозди. На каждый снаряд - свой инструмент :)
Этот механизм - евент - делегат = издатель - подписчик на событие.
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #889
Я тоже буду вопросы кидать, параллельно (хотя почему-то уверен, что ответа не дождусь :) )
В общем нужно мне замастрячить компьютерный интерфейс для уже изготовленной "многоканально-приемо-передающей" железяки, и наладить прием данных через USB ПК в БД под C#.
С первым, вторым и третьим все просто, все уже решил, с красивой "рожей" и даже с двойной проверкой принятых-переданных данных. А вот с БД на C#, чтобы потом по принятым и записанным данным графики в excel построить, не осилю пока.. не знаком..(вернее все-равно "пробью стену, как обычно, но убъю время).. :) Может кто-что подскажет по последнему пункту? :)
Думаю RainBoy могет подсказать, но ему наверняка некогда, занят работой в омериге.. :)
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #890
Я тоже буду вопросы кидать, параллельно (хотя почему-то уверен, что ответа не дождусь :) )
В общем нужно мне замастрячить компьютерный интерфейс для уже изготовленной "многоканально-приемо-передающей" железяки, и наладить прием данных через USB ПК в БД под C#.
С первым, вторым и третьим все просто, все уже решил, с красивой "рожей" и даже с двойной проверкой принятых-переданных данных. А вот с БД на C#, чтобы потом по принятым и записанным данным графики в excel построить, не осилю пока.. не знаком..(вернее все-равно "пробью стену, как обычно, но убъю время).. :) Может кто-что подскажет по последнему пункту? :)
Думаю RainBoy могет подсказать, но ему наверняка некогда, занят работой в омериге.. :)
Ты какую БД хочешь? Локальную или сетевую? Просто таблицу, или реляционную базу данных? :) Я на них, собсно, остановился в изучении C#. Позырь в книжках по C# - там же есть работа с таблицами, а тем более есть компанента таблицы экселя, которая ещё и сохраняет в екселевском формате.

P.S. и я искренне не пойму тяги строить графики в екселе, если уже взялся писать оболочку на C# :) В ней и строй!
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #891
Ты какую БД хочешь? Локальную или сетевую? Просто таблицу, или реляционную базу данных? :) Я на них, собсно, остановился в изучении C#. Позырь в книжках по C# - там же есть работа с таблицами, а тем более есть компанента таблицы экселя, которая ещё и сохраняет в екселевском формате.

P.S. и я искренне не пойму тяги строить графики в екселе, если уже взялся писать оболочку на C# :) В ней и строй!

ЛОкальную, Рес. :)
Дай автора твоей книги, попробую поискать.. Бля, трудно с нуля, самому, такие вещи пробивать.. На очевидное указать некому. :)
Только еба...ое упорство помогает не бросить и не "забить".. :)
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #892
Но вернемся к нашим ебла баранам
Датчик тока в самой ИМС.
Дело в том, что дроссель чоппера будет пытаться поддерживать ток таким, каким его оборвали. И так аж пока в нем энергия не кончится.
Так что контролировать выходной ток нужды нет - он не может быть больше, чем ток, на котором закрыли ключ, по чисто физическим причинам.
Достаточно контролировать ток заряда дросселя, а для этого используют какой-нибудь полевик с нормированным сопротивлением канала прямо на кристалле.



ЛОкальную, Рес. :)
Дай автора твоей книги, попробую поискать.. Бля, трудно с нуля, самому, такие вещи пробивать.. На очевидное указать некому. :)
Только еба...ое упорство помогает не бросить и не "забить".. :)

Ну держись - мозг не сломай, там 1400+ страниц.
Эндрю Троелсен
"C# и платформа .NET 3.0"
:D

Хороший книжко.

Но можно и погуглить. Например:
PwQPEQ96vqk

Также кроме экселя существует
Я пользовался XML Spreadsheet... менее тяжелое решение, чем загрузка Excel, при это можно писать формулы и другие вкусности Excel...

XML Spreadsheet Reference лежит по адресу

⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.

Ну а в xml можно сохранять прямо из C# - там поддерживается этот формат, вернее - xml это именно тот формат, который очень любит дотнет.

Ну и
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
тебе в помощь ;) Но он в последнюю очередь.

На самом деле есть несколько способов экспорта(отображения) данных в Excel:
1. Самый долгий и трудоёмкий - использование объекта эксел. Весит он давольно прилично и висит в памяти как кирпич(извините заранее те кто использует данный способ)
2. Использование Cristal Reports - но он не даёт всю красоту екселя(рамки, шрифты и т.д), но зато позволяет сохранять файл хоть в ексел, хоть в HTML, хоть в pdf
3. Использование XSLT - здесь сложность написания самого шаблонного файла - а так способ очень изящный
4. Самый простой и быстрый способ - сохраняем сделанный примерно шаблон своими руками в екселе с формате XML таблицы 2003 офиса и открываем его любым текстовым редактором. ОЧЕНЬ много строк обусловлено настройками самого листа(стили, заголоки) но интересующие данные лежат в виде типа строка - ячейка - дата - bla-bla (закр.теги)
Разобравшись со структурой файла можно начинать писать его самостоятельно. Можно используя XMLWriter, можно StringBuilder, а можно тупо в файл - как не странно - самый быстрый способ. 100000 строк записываются примерно за 0.04сек , через StringBuilder в 4-6 раза дольше. XMLWriter удобно использовать , так как он автоматом закрывает теги, но запись(код) получается более грамоздкой, за счёт того что необходимо прописывать все елементы в елементе ROW со всеми атребутами. А Елемент CELL имеет кучу атрибутов к тому же содержит еще и DATA. ТАк что думаю следует капать примерно в этом направлении.
Вот
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
на готдотнет форуме на эту самую тему . Удачи ;)
 
Останнє редагування:
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #893
Пасиб, Рес. :)
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #894
Кажется начинаю понимать(с)
А внешний резистор зачем тогда? Для пущей гибкости применения?
Какой именно и на какой из схем? на верхней его нет вообще. На нижней Делитель ОС по напряжению? Ну нравится им так... Может они не с током а с напругой работают, не такой уже лазер и нелинейный элемент... Можно работать напругой, если делать нефиг :) Плюс - я не знаю контекста этой схемы - кто её делал и как прошло испытание :D
P.S. И не пользуйся радикал фото... при клике на картинку оно предлагает мне вместо посмотреть в полном формате - вывалить свою. Есть же проще сервисы картингохостинга...

Та незашо, всегда рад помочь хорошему человеку изнасиловать его собственный моск :D
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #895
Резистор имею ввиду классический, в минусе нагрузки. Когда нагрузка и резистор являются делителем и с него ОС берется.

На нем напряжение, пропорциональное току нагрузки, вроде как.
Шунт (шоб грелся :) ) для внутреннего R, если оно там есть (даташит на чипу не смотрел, сорри).
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #896
C# засасывает, сука! :D
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #897
Ансис задумался... как выполнить дроссель преобразователя 5кВт на сердечнике Е6.3 :D :D :D

cqs1307778035f.JPG
 
Останнє редагування:
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #898
C# засасывает, сука! :D

А что за данные хочешь хранить в БД? если строки/цифры, то можно замутить массив/класс, и сохранять/читать его через сериализацию.
sql тоже просто лепится.
если что у мя примеры есть и того и другого.
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #899
А что за данные хочешь хранить в БД? если строки/цифры, то можно замутить массив/класс, и сохранять/читать его через сериализацию.
sql тоже просто лепится.
если что у мя примеры есть и того и другого.

Именно цифры. :) Буду рад "примеру".. :)
 
  • 🟠 16:30 Загроза застосування КАБЗагроза застосування керованих авіаційних бомб#м_Харків_та_Харківська_територіальна_громада
  • #900
Блин, не успел в тему о передвижке сиськи запостить :(

Ладно.
Подскажите лучше, какой программер под AVR посоветовать чайниу в отсутствие LPT?
Что б глюков поменьше и чипов поддерживал побольше. Короче, что б человек изучал AVR, а не программатор.
А, и что б не пришлось продавать последние штаны.

Погугли на тему Lufa. Быстрее не встречал. :) Да и глюков, кроме как с прошивкой ЕЕПРОМА нет у него.. Это клон AVRISP-MKII. Уже больше года юзаю, и доволен что слон!
 
Назад
Зверху Знизу