سلام. چه جوری می شه تو ویژوال استودیو، به پورت یو اس بی دسترسی داشت؟ مثلا یک رشته را بفرستیم. چه دستوری لازم هست؟
							
						
					اطلاعیه
				
					Collapse
				
			
		
	
		
			
				No announcement yet.
				
			
				
	
پورت usb در ویژوال استودیو
				
					Collapse
				
			
		
	X
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 پاسخ : پورت usb در ویژوال استودیو
 
 حساب `پورت USBآ با بقیه پورت ها مثل com و lpt و ... کاملن فرق میکنه. برای ارتباط با اون به این راحتی نمیشه کاری انجام داد مگر اینکه خودتون درایور اختصاصی بنویسید یا از کتابخانه های آماده استفاده کنید چون این پورت حالت های کاملن متفاوت و متنوعی داره . مثلن نحوه ارتباط پورت با mouse زمین تا زیر زمین با ارتباط flash memory فرق داره :mrgreen:
 اگه میخوای اطلاعات بیشتر کسب کنی بد نیست این سند رسمی مشخصات USB نسخه 2 هست
 
 http://sdphca.ucsd.edu/Lab_Equip_Manuals/usb_20.pdf
 
 مطمئن نکاهش کنی یکم وحشت میکنی :surprised: :mrgreen:
 راه راحت تر اینه که یه تبدیل USBآ به serial مثل بورد های مبتنی بر FT232 یا CP210xآ بگیری و به این پورت به صورت سریال نگاه کنی که هم خیلی کار رو راخت میکنه هم شرکت های سازنده ای چیپ ها کلی نمونه کد و مثال برنامه نویسی برای زبان های مختلف برنامه نویس ارائه کردن که خیلی کمکت میکنه. قیمت ارزانی هم دارند :smile:
 
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 پاسخ : پورت usb در ویژوال استودیو
 
 من متوجه منظورتون نشدم،
 اگه میخواید یک رشته توسط USB با استفاده از ارتباط USB2Serial مث FT232 ارسال یا دریافت کنید که کار آسونیه!
 یه SerialPort باس بیارین روی فرم، معرفی کردن مشخصات:
 مثلاً واسه من Com5 شده، و بعدش باز کردن پورت:کد:serialPort1.PortName = "COM5"; serialPort1.BaudRate = 1000000;
 حالا میشه مثلاً مقداری رو روی پورت سریال نوشت:کد:serialPort1.Open(); 
 و البته باید قبلش اول برنامه:کد:serialPort1.Write("Test"); 
 البته امیدوارم من اشتباه متوجه منظورتون نشده باشمکد:using System.Net; using System.Net.Sockets;  
 موفق باشید
 «پشتکار» «پشتکار» «پشتکار»
 
 دیدگاه
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 پاسخ : پورت usb در ویژوال استودیو
 
 با سلام
 ارتباط با USB بستگی به کلاسی داره که ویندوز میشناسدشون. ساده ترین اونا کلاس VCP یا پورت سریال مجازیه که در عمل شما فقط کابلتون رو عوض کردین.
 من پیشنهاد میکنم از پروتکل HID استفاده کنین که یه ارتباط USB واقعیه.درایور نمیخواد و DLL آهاش هم تو نت هست. کار باهاش هم راحته.
 من تو سی شارپ خیلی باهاش کار کردم.کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.
 دیدگاه
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 پاسخ : پورت usb در ویژوال استودیو
 
 سوال شما مبهمه . چون گیرنده و فرستنذه رو مشخص نکردید. ولی میشه بحث رو کلی شروع کرد تا شما بگی که منظورتون چیه
 
 از نظر برنامه نویسی usb رو به 4 لایه تقیسم میکنن به ترتیب از بالا به پایین اینه
 4-device or host
 3-portocol
 2-link
 1-physical layer
 
 
 مسلما شما نمی خوای تو سه لایه زیرین کار کنی پس میمونه لایه host و device و باز مسلمه که شما نمی خوای برای host برنامه بنویسی پس میمونه device
 حالا خود device به دو قسمت تقسیم میشه
 1- device استاندارد
 2-device سفارشی
 
 خوب باز مسلمه که شما می خوای با یک device استاندارد کار کنی
 
 خوب دیواس استانداد usb بالغ بر 20 کلاس است ولی مهمترینشون 5 تا است
 1- Audio-01h
 2- CDC -02h
 3- HID-03h
 4-Printer -07h
 5- Mass Storage-08h
 
 و در نهایت ماکروسافت برای این کلاس ها درایور های استانداد داره
 مثلا به ترتیب
 
 Usbaudio.sys
 Usbser.sys
 Hidclass.sys
 Usbprint.sys
 Usbstor.sys
 حال فرض کنیم شما می خوای با یک وسیله از نوع hid ارتباط برقرار کنی ویندوز توابع api زیر را دارد
 
 توابع شناسایی
 
 
 HidD_GetAttributes
 HidD_GetHidGuid
 HidD_GetIndexedString
 HidD_GetManufacturerString
 HidD_GetPhysicalDescriptor
 HidD_GetPreparsedData
 HidD_GetProductString
 HidD_GetSerialNumberString
 HidD_GetNumInputBuffers
 HidD_SetNumInputBuffers
 
 توابع ارتباط
 
 HidD_GetInputReport
 HidD_SetFeature
 HidD_SetOutputReport
 ReadFile
 WriteFile
 
 و در نهایت توابع گزارش گیری
 
 
 HidP_GetButtonCaps
 HidP_GetButtons
 HidP_GetButtonsEx
 HidP_GetCaps
 HidP_GetData
 HidP_GetExtendedAttributes
 HidP_GetLinkCollectionNodes
 HidP_GetScaledUsageValue
 HidP_GetSpecificButtonCaps
 HidP_GetSpecificValueCaps
 HidP_GetUsages
 HidP_GetUsagesEx
 HidP_GetUsageValue
 HidP_GetUsageValueArray
 HidP_GetValueCaps
 HidP_InitializeReportForID
 HidP_IsSameUsageAndPage
 HidP_MaxDataListLength
 HidP_MaxUsageListLength
 HidP_SetButtons
 HidP_SetData
 HidP_SetScaledUsageValue
 HidP_SetUsages
 HidP_SetUsageValue
 HidP_SetUsageValueArray
 HidP_UnsetButtons
 HidP_UnsetUsages
 HidP_UsageAndPageListDifference
 HidP_UsageListDifference
 
 
 
 
 مثلا صفحه کلید و ماوس از hid استفاده میکنن که دارای
 
 تنها موردی که همه آدما یقین دارن خدا در حقش زیاد لطف کرده
 داشتن عقله زیادتر از دیگر آدم ها است
 دیدگاه
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 پاسخ : پورت usb در ویژوال استودیو
 
 همین بیشتر توضیح بدیدنوشته اصلی توسط نو رسیدهبا سلام
 من پیشنهاد میکنم از پروتکل HID استفاده کنین که یه ارتباط USB واقعیه.درایور نمیخواد و DLL آهاش هم تو نت هست. کار باهاش هم راحته.
 من تو سی شارپ خیلی باهاش کار کردم.
 ممنونهرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند
 دیدگاه
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 پاسخ : پورت usb در ویژوال استودیو
 
 اولا پیشنهاد میکنم برای ارتباط با USB اصلا سراغ روشهای معمول ارتباط با پورتها مثل ارسال دیتا به آدرس پورت و غیره نرین. چون عملیات ارسال و دریافت دیتا تو این پورت بطور کاملا سخت افزاری انجام میشه و آدرسها شناور هستن. سراغ مطالعه پروتکلش هم نرین، چون هم خیلی پیچیدس و در صورت فهم کاملش هم هیچ دخل و تصرفی توش نمی تونید بکنید. بنا براین لطفا آب در هاون نکوبین و یکراست برین سراغ درایور ها و DLLآ های آماده و مخصوص اینکار.
 همونطور که پیشتر گفتم ابتدا باید یه سخت افزار با پورت usbآ به PC وصل بشه که از طرف سیستم به عنوان HID شناخته بشه.مثلا یه برد با میکرو های PIC که پورت USBآ دارن. بعدش شما با استفاده از DLL های مربوط به ارتباط با HID میتونین اختیارش رو بدست بگیرین و کنترلش کنین.
 اگه سخت افزار جانبی درست تعریف شده باشه دارای دو شناسه 16 بیتی بنامهای VID و PID خواهد بود که یه کد یونیک برای هر USB DEVICE هست و اولی ID سازنده محصول و دومی ID خود محصوله که از طرف سایت USB.ORG به سازندگان و محصولات تجاری اختصاص داده میشه. بنابراین بین ابزار های USB مختلفی که به PC تون وصله، شما میتونین ابزار مورد نظرتون رو شناسایی کنین و با اون ارتباط برقرار کنین.
 بعد از برقراری ارتباط دیتا، نوبت به نرم افزار های دو طرف میرسه که طوری نوشته بشن که زبون همو بفهمن و اطلاعات دریافتی رو درست تفسیر یا اجرا کنن.کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.
 دیدگاه
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 پاسخ : پورت usb در ویژوال استودیو
 
 سلام دوستان.
 
 حالا با این توضیحاتی که دادید، تقریبا یچیزهایی دستم اومد،
 حالا باید از کجا شروع کنم؟
 فکرشو نمیکردم این همه دردسر داشته باشه،
 برای پورتهای دیگه ، هم همینقدر داستان داره؟
 یا مثلا برای لینوکس چی؟
 
 هنوز تو ذهنم این یه علامت سواله بزرگه ، و تو نت هم گشتم ، هیچی نبود.
 
 با تشکر.به سمت نور خورشید حرکت کن،تو میتونی تابش خورشید رو حس کنی ،حتی اگه کور باشی.
 (پیش به سوی هدف)
 
 دیدگاه





















دیدگاه