| | | Jak nakonfigurovat sériový port v C++ pro Arduino ? 9. 9. 2015 / 09:57 | |
| | Takže co by neprogramátor jsem po přečtení mnoha zdrojů a asi třech dnech pokusů opět v koncích. Pokud by měl někdo nějaký nápad, velmi bych to uvítal. Problém je následující.
Naučil jsem se otevřít file jak pro vstup, tak i pro výstup pro komunikaci přes sériovou linku RS232 s Arduinem. Zjistil jsem, že po zaslání programu pro Arduino mi můj Céčkový program nekomunikuje resp. vytuhne, dokud ve vývojovém prostředí Arduina neotevřu program pro sériovou komunikaci. Pak vše běží v pořádku. Tedy jsem si to laicky představoval tak, že program pro sériovou komunikaci spuštěný z Arduina nakonfiguruje příslušný RS232 na správné hodnoty a potom ho mohu používat i ve svém Céčku.
Tudíž jsem se přes SetCommState snažil nastavit správné hodnoty a předpokládal, že vše začne fungovat. Nazačlo, spuštěný program v C++ zase vytuhne. Zde je zdroják jak se snažím nakonfigurovat port :
******************************************************************
DCB PortDCB;
// Initialize the DCBlength member.
PortDCB.DCBlength = sizeof (DCB);
// Get the default port setting information.
GetCommState ("\\\\.\\COM11", &PortDCB);
// Change the DCB structure settings.
PortDCB.BaudRate = 9600; // Current baud
PortDCB.ByteSize = 8; // Number of bits/byte, 4-8
PortDCB.Parity = NOPARITY; // 0-4=no,odd,even,mark,space
PortDCB.StopBits = ONESTOPBIT; // 0,1,2 = 1, 1.5, 2
// Configure the port according to the specifications of the DCB
// structure.
SetCommState ("\\\\.\\COM11", &PortDCB);
*********************************************************************
Ještě zde uvedu řádek který funguje (po postrčení komunikačním programem Arduina), kdy otevírám určitý soubor pro čtení na COM11
comportIN02 = fopen("\\\\.\\COM11", "r");
***********************************************************************
Takže buď je špatný předpoklad že spuštěním programu pro sériovou komunikaci z programu Arduina konfiguruje RS232 proměnné PC na právné hodnoty, nebo tento předpoklad je správný a já pouze uvedeným zdrojákem špatně konfiguruji požadované hodnoty. Nebo je brouk jinde ?
Program nahraný do Arduina má nastavené baudy na 9600.
Dokáže mě někdo postrčit ?
Díky moc
P.S. Pro zajímavost kdo to neví tak se podívejte na definici COM11 - "\\\\.\\COM11" - to tam prý musí být pro obsluhu portů s vyšším číslem než 9 a zdá se že to funguje. Apoň něco jsem včera vygooglil doufám že správně. Jinak si totiž s vyššími čísly portů ani neškrtnete
|
| |
|
| | | Jak nakonfigurovat sériový port v C++ pro Arduino ? 10. 9. 2015 / 06:11 | |
| | | |
|
| | | | Jak nakonfigurovat sériový port v C++ pro Arduino ? 10. 9. 2015 / 07:28 | |
| | Nejdřív zkusím fórum a teprve v případě krajní nouze adresně otravuji členy fóra o kterých vím, že by mi byly schopní poradit. Ono to zatím šlape s tou aktivací COMu přes prostředí Arduina, jen jak budou Arduina přibývat tak to bude otravné po nastartování PC všechno projíždět.
No a potom kdyžtak budu zase nárazově po pár týdnech a měsících projíždět google a dolovat a zkoušet a dolovat a zkoušet . . . Jak jsem říkal jednomu pérákistovi, který byl u mě na návštěvě naposled - někdy trvá nějaké to vyřešení i několik let.
Není to fatální zásek kvůli, kterému bych nemohl dál, jen drobná nepříjemnost. A tak si svoje "tři přání", které jsem si u některých místních dobrých duší stejně už dávno vyčerpal (a bez jejich rad bych často opravdu nevěděl jak dál pokračovat - na dálku jim znovu a znovu děkuji ) zkusím schovat pro případ krajní nouze
Stejně je to to ale radost, když to zvolna roste pod rukama
Ale samozřejmě díky za odpověď |
| |
|
| | | | | Jak nakonfigurovat sériový port v C++ pro Arduino ? 10. 9. 2015 / 08:25 | |
| | Mi vyprávěj Tonde by už mohl o mně napsat knížku
|
| |
|
| | | Jak nakonfigurovat sériový port v C++ pro Arduino ? 14. 9. 2015 / 21:24 | |
| | netuším co přesně máš na mysli, ale obvyklý problém arduina při komunikaci s PC je to, že Arduino prostě písidlo zahltí, takže do loopu programu arduina dej na jeho konec zpoždění, stačí i milisekunda, tedy
delay(1);
zkus jít až do 100 a sleduj, či se změní chování. Pokud ne, písni mi na tlamoknize do SZ nebo mail, uveď i jakou desku máš Arduina, event šoupni do mailu i sketch pro Aduino i softík pro PC
|
| |
|
| | | | Jak nakonfigurovat sériový port v C++ pro Arduino ? 14. 9. 2015 / 22:16 | |
| | Díky za odpověď. Varianta zahlcení PC ze strany Arduina to domnívám se není, protože to posílá informace do PC jen když něco sepnu spínač nebo tlačítko. Takže se ozvu do SZ na tlamoknize a děkuji ! |
| |
|
| | | | | Jak nakonfigurovat sériový port v C++ pro Arduino ? 15. 9. 2015 / 09:07 | |
| | ....proto chci vidět sketch do Arduina, protože právě seriový port dokáže zahltit jen tím, že v kuse posílá "nic" |
| |
|
| | | | | | Jak nakonfigurovat sériový port v C++ pro Arduino ? 15. 9. 2015 / 14:05 | |
| | Opět díky za info, vidíš tahle možnost by mě nenapadla. Takže vše nejdřív vyzkouším dle Tvé rady, případně posléze připravím a ozvu jak již jsem přes SZ informoval. Díky moc ! |
| |
|
|