| BG Development · За реклама · За контакти |
Помощ Търсене Потребители Календар Правила |
| Здравей! ( Включване | Регистриране ) |
| Страници: (5) « първа ... 2 3 [4] 5 ( Първото ново мнение ) | ![]() ![]() ![]() |
| ici |
Публикувано на: 21-06-2026, 08:27
|
||
![]() Име: Ивайло Илчев Група: VIP Ранг: Почетен член Мнения: 19077 Регистриран на: 06.06.04 |
Ако се използва USB, модемните сигнали са просто команди, които се изпращат по endpoint 0 и ако не работи контролера няма кой да ги чуе.
-------------------- Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit. |
||
| thrawn |
Публикувано на: 21-06-2026, 08:34
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3864 Регистриран на: 17.01.17 |
Точно това щях да питам, как реализирате хардуерната синхронизация по usb (макар, че в последните години почти не съм виждал устройства които да я използват)...
Това мнение е било редактирано от thrawn на 21-06-2026, 08:36 |
| ici |
Публикувано на: 21-06-2026, 10:18
|
![]() Име: Ивайло Илчев Група: VIP Ранг: Почетен член Мнения: 19077 Регистриран на: 06.06.04 |
Само използвам DTR за да детектвам че нещо се е закачило. В някои случаи пускам таск, в други просто паля лед, от червен става зелен, когато има комуникация мига синьо.
LINE_CODING само го пазя ако някой софтуер иска да сложи бод рейт, датабитс и пр, та после да му ги върна за да се радва. Това мнение е било редактирано от ici на 21-06-2026, 10:21 -------------------- Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit. |
| thrawn |
Публикувано на: 21-06-2026, 11:02
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3864 Регистриран на: 17.01.17 |
Имах в предвид как ги подавате/приемате на чисто хардуерно ниво. Ама горе нали пусна извадка как ги обработваш. Но третирането им като команда, практически ги обезсмисля.
|
| Дон Реба |
Публикувано на: 21-06-2026, 11:21
|
||
|
Име: Група: Потребител Ранг: Почетен член Мнения: 10496 Регистриран на: 11.11.06 |
аз ползвам или CH340 или FTDI, като напоследък предпочитам CH340 защото е малък и има само rts, точно както аз искам. |
||
| H_A_L_F |
Публикувано на: 21-06-2026, 13:57
|
![]() Име: Антон Банчев Група: Потребител Ранг: Почетен член Мнения: 1585 Регистриран на: 01.03.04 |
За това сканиране преди всяка команда, не е ли по-просто да се прави сканиране един път, след това използваш намерения порт докато той не спре да отговаря (някакъв кратък таймоут), и само тогава сканираш всички портове отново да закачиш на новия и пращаш там командата. Това че няма идентификация си е кофти проблем, няма ли за тези устройства начин да пишеш някакъв твой идентификатор в тяхното мемори, или са им ограничени командите.
|
| thrawn |
Публикувано на: 21-06-2026, 14:29
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3864 Регистриран на: 17.01.17 |
Представи си, че имаш две еднакви устройства (без серирн номер) когато ги включиш излизат на COM5 и COM6. По някое време се рестартират но второто се включва първо. Операционната сисрема му дава COM5. След това се включва другото и получава COM6. Така и двата порта са там и двете устройства си работят но са си сменили местата.
Обикновено, серийните портове не се държат отворени, постоянно, така че, подобно събитие няма как да бъде отчетено. В някои случаи е все едно кое от двете ще обработи командата но има устройства при които е критично командата да се подаде на точно определено устройство (в моя случай, това са фискални устройства и пос терминали които отчитат потоци на пари - те ще се запишат като оборот на грешна фирма или по-лошо, парите ще отидат в грешна сметка). Иначе, производителите могат да сменят идентификациите (при ftdi май се ползваше външен flash за това. А това вдига цената на продуктът (не само с цената на компонента но и разходи за асемблиране) затова ги зарязват с идентификациите по подразбиране). Серийните номера пък изискват отделно флашване на всяко устройство, което също усложнява производството. Технически няма проблем производителите да предвидят опция за програмиране на идентификатори от потребителя, но обикновенно, това се праеи през сервизни интерфейси до които обикновените потребители нямат достъп. Това мнение е било редактирано от DarkOne на 26-06-2026, 14:57 |
| H_A_L_F |
Публикувано на: 21-06-2026, 14:32
|
![]() Име: Антон Банчев Група: Потребител Ранг: Почетен член Мнения: 1585 Регистриран на: 01.03.04 |
Имам предвдид няма ли някаква временна памет която да може да се пише без да влияе на останалите функции, и там да го ползваш за да си пишеш твой идентификатор, после ако четеш и идентификатора го няма знаеш че може да не е същото устройство
|
| thrawn |
Публикувано на: 21-06-2026, 14:48
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3864 Регистриран на: 17.01.17 |
Е то е това де. Тези флашове са само за този чип. Когато му подадеш команда, той си пише в паметта (ако има такава) иначе използва фабричните записи от ROM паметта си. Това няма отношение към контролера на устройството.
При контролерите с вграден usb (примерът на ici от предната страница) всичко се прави на ниво приложение (тогава всички подобни идентификатори заемат място в паметта на контролера, освен ако умишлено не се постави външна памет в която да се трупат такива неща). От тук вече е въпрос на желание да се включат команди за промяна на идентификаторите. В много устройства има скрити jtag или uart портове по платките които се използват за дебъгване и препрограмиране. Също тка има трикове с бут лодерите на контролерите които позволяват да ги стртираш в "сервизен режим" в който евентуално да пипаш на места недостъпни за писане от основното приложение. --- На това ниво съм любител, така че, ако има неточности, хората които се занимават с това ще ме поправят. Това мнение е било редактирано от thrawn на 21-06-2026, 14:50 |
| ici |
Публикувано на: 21-06-2026, 14:58
|
||
![]() Име: Ивайло Илчев Група: VIP Ранг: Почетен член Мнения: 19077 Регистриран на: 06.06.04 |
Част от РАМ паметта не се бара при ресет, и там пиша стек дъмп, причина за рестарта и пр. , ама това не е стандартно решение. Прикачена картинка (Кликнете на картинката, за да я увеличите!) ![]() -------------------- Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit. |
||
Страници: (5) « първа ... 2 3 [4] 5 |
![]() ![]() ![]() |