پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو
حالا سوالم اینه که چطور میشه متن فارسی تو textbox نوشت؟(وقتی کیببرد رو فارسی میکنم و تو textbox تایپ میکنم حروف عجیب غریب مینویسه)
خوب ویندوزت رو فارسی کن.
در کنترل پنل وارد قسمت regional and Language بشو و از سربرگ وسط تیک اول رو فعال کن و OK کن (البته سی دی ویندوز رو هم باید بزاری تو سی دی رام!)
اگه ویندوزت فارسیه اینطوری مینویسه کار زیر رو انجام بده:
در برنامه ویژوال بیسیک به منوtools وارد قسم options شوید.در قسمت editor format در قسمت فونت ، فونت Courier New (Arabic) را انتخاب کنید...
موفق باشید
پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو
من یک مشکلی با مدارم دارم.
من به راحتی میتونم کدهائی مثل chr(xx) رو ارسال کنم و با میکرو دریافت کنم و ...
اما وقتی نوبت به متن میرسه :
متن ارسال میشه ، اما ناقص ، یعنی از حرف چهارم به بعد حذف میشه . مثلا : من کلمه : bahram رو می فرستم به میکرو اما روی ال سی دی : bahm نمایش داده میشه !!!!
من از دستور waitkey برای دریافت استفاده می کنم.
با دستور input هیچی دریافت نکردم ، ! اما با دستور print میتونم یک متن مثل " azmayesh " رو خیلی راخت ارسال کنم و با برنامه دریافت کنم.
به نظر شما مشکل کجاست .؟؟؟؟ :question: :question: :question:
من رو با نام " بهرام الکترونیک " میتونید تو نت پیدا کنید. !!!!
پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو
نوشته اصلی توسط بهرام پورعلی بابا
من یک مشکلی با مدارم دارم.
من به راحتی میتونم کدهائی مثل chr(xx) رو ارسال کنم و با میکرو دریافت کنم و ...
اما وقتی نوبت به متن میرسه :
متن ارسال میشه ، اما ناقص ، یعنی از حرف چهارم به بعد حذف میشه . مثلا : من کلمه : bahram رو می فرستم به میکرو اما روی ال سی دی : bahm نمایش داده میشه !!!!
من از دستور waitkey برای دریافت استفاده می کنم.
با دستور input هیچی دریافت نکردم ، ! اما با دستور print میتونم یک متن مثل " azmayesh " رو خیلی راخت ارسال کنم و با برنامه دریافت کنم.
به نظر شما مشکل کجاست .؟؟؟؟ :question: :question: :question:
دلیلش اینه که سرعت کاممپیوتر بیشتر از سرعت میکرو هستش و وقتی که pc یک بایت رو میفرسته تا میکرو بخواد بایت رو بخونه pc بایت بعدی رو میفرسته...
باید یه جوری در زمان ارسال از delay استفاده کنید.
این قابلیت در دات نت هست ولی در وی بی 6 ندیدم!
موفق باشید
پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو
دلیلش اینه که سرعت کاممپیوتر بیشتر از سرعت میکرو هستش و وقتی که pc یک بایت رو میفرسته تا میکرو بخواد بایت رو بخونه pc بایت بعدی رو میفرسته...
باید یه جوری در زمان ارسال از delay استفاده کنید.
این قابلیت در دات نت هست ولی در وی بی 6 ندیدم!
موفق باشید
به نظر شما میشه با افزایش فرکانس کاری میکرو این مشکل رو رفع کرد؟
من رو با نام " بهرام الکترونیک " میتونید تو نت پیدا کنید. !!!!
پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو
نه نمیشه!
داخل دات نت ، داخل مشخصات کامپوننت serialport یک خصوصیت به نام WriteTimeout هست که میشه با اون زمان delay بین هر ارسال را مشخص کنید...
موفق باشید
پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو
نوشته اصلی توسط سید مهدی
دلیلش اینه که سرعت کاممپیوتر بیشتر از سرعت میکرو هستش و وقتی که pc یک بایت رو میفرسته تا میکرو بخواد بایت رو بخونه pc بایت بعدی رو میفرسته...
باید یه جوری در زمان ارسال از delay استفاده کنید.
این قابلیت در دات نت هست ولی در وی بی 6 ندیدم!
موفق باشید
باود ریتی که در هر دو طرف تعیین میکنیم واسه همینه دیگه!
من فکر نمیکنم ربطی به تفاوت سرعت کامپیوتر و میکرو داشته باشه چون در این صورت باید فاتحه تمام سیستم هایی که با پورت سریال کار میکنن رو بخونیم.
من تو دریافت رشته با استفاده از interrupt پورت سریال هیج مشکلی نداشتم.
پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو
یک راهش زیاد کردن کلاک میکرو هست.
دلا یاران سه قسمند ار بدانی
زبانی اند و نانی اند و جانی
به نانی نان بده از در برانش
محبت کن به یاران زبانی
و لیکن یار جانی را به دست آر
به جانش جان بده تا می توانی
پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو
دوستان عزیز هدف من از برنامه ی زیر دریافت یک عدد ارسال شده از میکرو و به توان 2 رساندنش و سپس ارسال اونه ایا برنامه ای که من نوشتم درسته خواهشا اگه میدونید جواب بدید
Option Explicit
Dim recdata As String
Dim moji As Integer
Dim mul As Integer
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.PortOpen = True
MSComm1.Settings = "9600,n,8,1"
End Sub
Private Sub MSComm1_OnComm()
moj:
If MSComm1.CommEvent = comEvReceive Then
recdata = MSComm1.Input
Else
GoTo moj
End If
wait 1
moji = Val(recdata)
mul = moji * moji
MSComm1.Output = mul
End Sub
پاسخ : ویژوال بیسیک و ارتباط کامپیوتر (پورتrs232) با میکرو
سلام دوستان من یک مشکل بزرگ دارم.
من از uart سخت افزاری برای ارتباط استفاده می کنم.
با یک do loop یک سری اطلاعات (مقدار دما) را به visual basic ارسال می کنم.
و داخل برنامه هم دریافت می کنم.
ولی این شکلی دریافت میشه : ( با تایمر)
مثلا دمای 45
45454545454545
یا در حالت multiline
45
45
45
45
که اینو نمیشه توی یک متغیر ذخیره کرد.
خواستم از دوستان کسی می دونه راه حلش چیه که من هر بار فقط اعداد دو رقمی یا یک رقمی داشته باشم؟؟
مثلا هر موقع که a=MSComm1.input را که می زارم فقط 45 بیاد داخلش.
دیدگاه