Diskuze: Serial Port
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


To ti nepřišlo divné zkopírovat 10x to samé pod sebe? Podívej se na princip DRY - https://www.itnetwork.cz/…vrh-softwaru
mně přijde zajímavější todle:
int b = 0b00000111; // 7
int b = 0b0001000; // 8
int b = 0b0001001; // 9
to je úplně super legendární, dal bych to do síně slávy.. jako další krok navrhuji nastavit konstantu pomocí výpočtu určitého integrálu!
Zapomněl si na ten další kód:
string c;
c = b.ToString();
port.Write(c);
A zkoušel sis to spustit? Nenafackoval ti ten program? Neukazuje ti chybu VS
už při psaní toho kódu?
Proč máš proměnnou
string a;
, která podle všeho může nabývat jen číselných hodnot a proměnnou
int b;
, do které se mermomocí snažíš nacpat písmenka?
A ta proměnná "c" je k čemu?
to už vypadá,že sis to snad objednal jako exemplární příklad STUPID practice 
Já nebudu tak "krutý" jako ostatní - protože si asi neuvědomují že o
programování nemáš ani šajn a pravděpodobně jsi to dostal za úkol (oprav
mně jestli se mýlím).
Pokud to ovšem není nějaký vtip a ty čekáš kdo se chytí.
Že to kompletně celé špatně už víš.
Tak jen přidám to jak by to mělo vypadat správně
private void button1_Click(object sender, EventArgs e)
{
SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
port.Open();
port.Write(textBox1.Text);
port.Close();
textBox1.Clear();
}
Zamysli se - proč převádět v aplikaci text na číslo , pak zpět na
text, který teprve pošleš - není lepší ho poslat zrovna ?
Můj příklad dělá to co potřebuješ, ale je spíš ilustrační - ve
skutečnosti bys měl ověřit že jsi opravdu na port připojený,zpracovat
nějaké potvrzení od mikrokontroleru o příjmu zprávy, nějakou validaci
vstupu - teda, že v textBoxu někdo nezadá nic jiného než číslice 0-9 - o
což ses zjevně ve svém řešení snažil, ale existují mnohem
elegantnější řešení - třeba místo textBoxu použití kontrolky
NumericUpDown s max. hodnotou 9 apod.
Co se týče toho AVRka - proč asembler, když tak bojuješ i s proti němu
"user friendly" Céčkem?
Proč ne právě to C ?
No, jako úplný začátečník bych se rozhodně nepouštěl rovnou do práce s porty. A jestli to dostal za úkol, tak se určitě něco o tom učili a aspoň trochu by měl vědět, co má dělat...
Moc se omlouvám, že jsem to takhle předhodil, ale v tu chvíli jsem nevěděl kde mám zrovna hlavu. Byl jsem v tom ponořený až moc, že mi mozek ty chyby úplně přehlížel . Jak jsem to původně zamýšlel bylo - do textboxu se něco zadá (zatím jsem to dělal 0-9 ale pak přidám ještě nějaká písmena), k tomu co se zadá je přiřazena 8 bitová hodnota (zdálo se mi, že to bude jednodušší na přesun a pro následující práci v AVR, ale jestli máte nějaký lepší nápad prosím navrhněte). Tu 8 bitovou hodnotu pošlu na port, kde by to měl přečíst mikrokontroler (nějakým způsobem musím nastavit UART), tu 8 bitovou hodnotu musím dostat z UART do registru, kde pak budu pomocí cpi porovnávat (jestli se ta hodnota shoduje -> jmp na zobrazení té konkrétní hodnoty). Proto jsem potřeboval ten kód na port v C#, abych měl jistotu, že to něco posílá a pak se prát s AVR.
Odpověď na dotazy:
Podle tvojeho popisu to vypadá že soutěžíte o to, kdo jednoduché
zadání "pošli text z textBoxu do mikrokontoléru a zobraz ho na displeji"
napíše nejsložitější a na nejvíc řádků 
Takže trochu základů :
znakům nemusíš přiřazovat binární hodnoty - zápis '0',
0x30 a 0b00110000 jedno jest - v paměťové
buňce to vždy bude stejná série jedniček a nul, kterou ti serial port
odešle na mikrokontolér, ve kterém ho tak jak je přijat přepošleš na
displej - co tam chceš ještě porovnávat?
Jinak konkrétně s asemblerem ti moc neporadím, ale na síti je určitě
spousta hotových řešení.
Zobrazeno 11 zpráv z 11.