ورود

View Full Version : سوال: سرکشی و خواندن از پورت



simorgh2
پنج شنبه 23 دی 1389, 23:06 عصر
من می خواستم در محیط Visual c++ 6 داده هایی را از پورت مرتبا بخونم . تکرار دستور خواندن از پورت را با استفاده از یک تایمر انجام دادم ولی ظاهرا استفاده از تایمر کار رو کند می کنه و یک سری از داده ها از دست می روند. آیا راه دیگری غیر از تایمر برای سرکشی و تکرار خواندن از پورت وجود دارد. نحوه استفاده از وقفه های خارجی در این محیط رو هم نتونستم پیدا کنم. لطفا مرا راهنمایی کنید.:افسرده::افسرده:

mehdi.mousavi
شنبه 25 دی 1389, 13:36 عصر
من می خواستم در محیط Visual c++ 6 داده هایی را از پورت مرتبا بخونم . تکرار دستور خواندن از پورت را با استفاده از یک تایمر انجام دادم ولی ظاهرا استفاده از تایمر کار رو کند می کنه و یک سری از داده ها از دست می روند. آیا راه دیگری غیر از تایمر برای سرکشی و تکرار خواندن از پورت وجود دارد. نحوه استفاده از وقفه های خارجی در این محیط رو هم نتونستم پیدا کنم. لطفا مرا راهنمایی کنید.:افسرده::افسرده:


سلام.
داده ها از طریق چه پروتکلی دریافت میشه؟ بطور نمونه شما می تونید در WinSock منتظر دریافت اطلاعات (یا وقوع خطا) باشید و نیازی به سرکشی به پورت در Interval های مورد نیاز نیست. اگر از MFC استفاده میکنید، دو کلاس CSocket و CAsyncSocket کار رو راحت تر هم کرده اند، در واقع هر وقت داده ای روی پورت وجود داشته باشه، متود OnReceive (http://msdn.microsoft.com/en-us/library/wfttx1af.aspx) فراخوانی میشه و شما می تونید با استفاده از متود Receive، داده مورد نظر رو بخونید.

موفق باشید.

simorgh2
پنج شنبه 12 اسفند 1389, 12:16 عصر
سلام

با دستورات زیر از پورت داده ها را خوانده می شود.
_inp( Addr_ADC1 );
_inp( Addr_ADC2 );
_inp( Addr_ADC3 );
for( k=0; k<Delay_ADC; k++ );
_outp( Addr_ADC1, 0xAA );
_outp( Addr_ADC2, 0xAA );
_outp( Addr_ADC3, 0xAA );
ادرس 3 تا پورت است که داده ها ازش خوانده می شود و یا داده ای بر آنها نوشته می شود. نتونستم پیدا کنم که چطوری این 3 تا ادرس رو به متد ها مربوط به کلاس socketبدم؟؟؟

simorgh2
پنج شنبه 12 اسفند 1389, 12:22 عصر
سلام

با دستورات زیر از پورت داده ها را خوانده می شود.
_inp( Addr_ADC1 );
_inp( Addr_ADC2 );
_inp( Addr_ADC3 );
for( k=0; k<Delay_ADC; k++ );
_outp( Addr_ADC1, 0xAA );
_outp( Addr_ADC2, 0xAA );
_outp( Addr_ADC3, 0xAA );
ادرس 3 تا پورت است که داده ها ازش خوانده می شود و یا داده ای بر آنها نوشته می شود. نتونستم پیدا کنم که چطوری این 3 تا ادرس رو به متد ها مربوط به کلاس socketبدم؟؟؟