FlightSim.CZ   Reklama  
SW Virtual
> Nejste přihlášen Login
  Dnes je neděle 12. 5. 2024, svátek má Pankrác Translate
ÚVOD
LETADLA
KRAJINY
AI PROVOZ
UTILITY
ČLÁNKY
FÓRUM
 Seznam příspěvků
ODKAZY
SCREENSHOTY
VIDEA
INZERCE
PLÁNOVÁNÍ LETŮ
VYHLEDÁVÁNÍ
O SERVERU
RSSRSS - fórum
RSSRSS - novinky
FacebookFacebook
MobileVerze pro PDA
Jak nakonfigurovat sériový port v C++ pro Arduino ? Jeden příspěvek | Celý strom
Jak nakonfigurovat sériový port v C++ pro Arduino ?   9. 9. 2015 / 09:57
kuknamys   
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
 
VWAC
FS Medlánky
L39.CZ
O serveru   |   Zveřejňování souborů ke stažení   |   Kontakt   |   © 1999-2024 FlightSim.CZ