 |

|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2025 05 13, 11:37. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Programinė įranga » Visual Studio ir serial komunikavimas
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
 |
Visual Studio ir serial komunikavimas |
Parašytas: 2015 03 08, 02:06 |
|
|
|
Sveiki, panorau išmokti dirbti su visual studio, antrą dieną kankinuos su viena problema.
Pasijungiau Arduino, porą LED'ų, mygtukų. Siųsti informaciją į Arduino pavyksta be problemų, bet perskaityti niekaip...
Kai paspaudžių mygtuką, užlūžta ir meta tokį error:
Kodas kaip ir matosi nuotraukoj. Serial portas nustatytas, baud rate atitinka, kaip sakiau viskas su write veikia, bet nuskaityt nesugebu. Gal kas bandėt ir esate susidūręs su panašia situacija? Ačiū.
Arduino siunčia:
Kodas: |
if(butt3 == HIGH){
Serial.write("c");
delay(100);
}
|
|
|
|
|
|
 |
 |
Visual Studio ir serial komunikavimas |
Parašytas: 2015 03 08, 10:17 |
|
|
|
Senokai dirbau su Visual Studio, tai jau nelabai prisimenu kaip tai reikia daryti. Bet gal pirmiausia reikia patikrinti ar yra ką skaityti. Pvz. taip:
Kodas: |
if(serialPort1.BytesToRead > 0)
{
// tavo kodas
} |
Be to bandai skaityti eilutę, tuo tarpu siunti tik vieną simbolį. Gali būti kad ir dėl to nenori nuskaityti. Pabandyk po simbolio dar ir CR (carriage return) pasiųsti. O taip pat išbandyk kitokius skaitymo metodus. |
|
|
|
|
 |
Visual Studio ir serial komunikavimas |
Parašytas: 2015 03 08, 12:58 |
|
|
|
Bandžiau siųsti ir eilutę- tas pats. Tikrinimas, ar yra ką skaityti, manau, nereikšmingas, nes kodas parašytas "Evente", kuris veikia tik gavus duomenis. Bandžiau visokius skaitymo metodus, nieko gero. |
|
|
|
|
 |
Visual Studio ir serial komunikavimas |
Parašytas: 2015 03 08, 21:05 |
|
|
|
Ar rankiniu būdu tikrinai veikimą su kokiu serial port terminal iš PC pusės? Ar viskas veikia, jei ranka surašai komandas? |
|
|
|
|
 |
 |
Visual Studio ir serial komunikavimas |
Parašytas: 2015 03 08, 22:25 |
|
|
|
Tai kad nesamones darai.
OnReceive() evente dekis pas save i buferi, o kai gauni "\r\n" - tada isstatyk pozymi, kad yra eilute, o ta pozymi tikrink ir atlik veiksmus Thread'e.
Dar gali i programos event bufferi talpinti komanda apdoroti eilute, o pagrindiniam cikle aptikes ta komanda ja apdoroti pries visus kitus doroklius.
Dabar tu gauni viena simboli ir priverti skaityti visa eilute, bet tos eilutes nera kaip nuskaityti, nes uzlokinai eventa. |
|
|
|
|
 |
Visual Studio ir serial komunikavimas |
Parašytas: 2015 03 08, 22:31 |
|
|
|
AlgisL rašo: |
Dabar tu gauni viena simboli ir priverti skaityti visa eilute, bet tos eilutes nera kaip nuskaityti, nes uzlokinai eventa. |
Dar tiksliau užgriebta problema  |
|
|
|
|
 |
Visual Studio ir serial komunikavimas |
Parašytas: 2015 03 09, 11:01 |
|
|
|
Ugniues rašo: |
Kaip supratau turiu iš arduino išsiųsti eilutės pabaigą, o visual studio sustabdyti SerialRead, kai ji atsiunčiama? |
Nieko tu nesupratai
Kaip cia tau paaiskit, kad dasustu...
Siusti is Arduino gali ka tik nori, bet eilutes pabaiga pagal susitarima yra \n linuxe ir \r\n windozeje, tad jei ignoruosi \r bei \n atveju suformuosi pronesima (savo priskirta) https://msdn.microsoft.com/en-us/library/windows/desktop/ms644944%28v=vs.85%29.aspx kaip momenta eilutei apdoroti, tai skaitydamas is savo lokalaus buferio iki \n gausi ko reikia ir neuzlokinsi programos MessageLoop'o |
|
|
|
|
 |
Visual Studio ir serial komunikavimas |
Parašytas: 2015 03 09, 21:17 |
|
|
|
Realiai dar neturiu tiek "košės", kad suprasčiau ką šnekat. Tikriausiai turiu skaityti iki eilutės pabaigos, bet nesuprantu kodėl tai turėtų padėti, nes dataReceived eventas, su console.write() veikia, o su text1.Text=() - užsilockina. |
|
|
|
|
|
 |
Google paieška forume |
|
 |
Naujos temos forume |
|
 |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
 |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
 |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
 |
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
 |
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
 |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
 |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
 |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
 |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
 |
Football Training Kit
Football Training Equipment,
Football Skills,
Football Training |
|

|
 |