| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| C++ http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=3779 |
Страница 1 от 1 |
| Автор: | leotron [ Нед Фев 25, 2007 7:39 pm ] |
| Заглавие: | C++ |
Здравейте. Как мога да осъществя достъп до COM порта в С++. Ползвам Dev C++ 4.9.9.2. Понеже наскоро започнах да изучавам този език за програмиране и ще съм благодарен на всеки който ми окаже помощ |
|
| Автор: | juzisound [ Нед Фев 25, 2007 8:53 pm ] |
| Заглавие: | |
Става с функцията - "CreateFile". Поразгледай за нея - не е сложно... Ако не се оправиш - мога да ти дам малко код за C++Builder който ти ще си преправиш. Ако искаш обаче ча четеш данни от там, независимо от основната програма, тогава трябва да си създадеш отделен Thread за тая цел. |
|
| Автор: | sv_shady [ Пон Фев 26, 2007 12:10 am ] |
| Заглавие: | |
Първо зависи дали става въпрос за win95 или winXP, ако е за 95 има си функции port_output() и port_input() Изръчкай гоогле и ще им намериш подробни описания.Ако пък става въпрос за XP нещата вече стоят по - сложно. XP не позволява пряк достъп до портовете за това трябва през kernel.dll |
|
| Автор: | Nikola Kirov [ Пон Фев 26, 2007 10:58 am ] |
| Заглавие: | |
Не се сещам какво е това Dev 4.9.9.2 но за работа за маикрософтското C++ има доста добре направен и free клас за комуникация през серииния порт http://www.naughter.com/serialport.html Но и да не ползваш майкрософтското може и с малко усилия да си го направиш като за компилатора който ползваш. Това е проста надстройка над WinApi функциите и лесно може да схванеш и как се работи директно с тях. |
|
| Автор: | leotron [ Пон Фев 26, 2007 9:00 pm ] |
| Заглавие: | |
А някой да знае как се работи с bios.h цял ден се мъча и всеки път като напиша _bios_serialcom (3,0,0); ми изкарва че тази функция не е декларирана ето и примерите които се мъча да подкарам http://www.digitalmars.com/rtl/bios.htm ... _serialcom ползвам Borland C++ Version 5.01 |
|
| Автор: | sv_shady [ Пон Фев 26, 2007 10:54 pm ] |
| Заглавие: | |
Ами първото, което ми идва на акъл дали я имаш bios.h ???А следващото е дали пишеш на XP, защото ако е така то няма да те пунсе да бръкнеш на толкова ниско ниво ! |
|
| Автор: | leotron [ Вто Фев 27, 2007 4:51 pm ] | |||||||||
| Заглавие: | ||||||||||
Ами да имам го bios.h. Чудя се обаче защо на Pascal без проблем си става комуникацията с COM порта и то под XP, а на C++ ми прави мизерии. |
||||||||||
| Автор: | ¶ [ Вто Фев 27, 2007 6:15 pm ] |
| Заглавие: | |
_bios_serialcom функцията можеш да използваш, когато програмата ти е за DOS. В крайна сметка под XP каква програма подкарваш, DOS или Win ? COM порта за Win се програмира по различен начин за Win16 и Win32. |
|
| Автор: | paregov [ Вто Фев 27, 2007 6:30 pm ] |
| Заглавие: | |
bios.h не се ли ползва, когато пишеш на С за COM порта? Може да погледнеш този архив: http://atmel.com/dyn/resources/prod_doc ... AVR231.zip и вътре \Source Code\PC\update\comport.cpp това се компилира на Dev C++. |
|
| Автор: | ¶ [ Вто Фев 27, 2007 8:25 pm ] | |||||||||
| Заглавие: | ||||||||||
За Dev C++ не знам, но при Borland C/C++ bios.h е ориентиран за DOS. В C++ сорса на Atmel не видях да се използват структури и/или функции от bios.h, използват се Win32 функциите CreateFile(), ReadFile(), WriteFile(), SetupComm(), SetCommState() и т.н. Тези функции не би трябвало да са дефинирани при Dev C++ в bios.h. Ето bios.h от Borland C/C++ 5.02:
|
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|