امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در ارتباط با میکرو
نویسنده پیام
soshyan آفلاین
تازه وارد

ارسال‌ها: 16
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 16
( 2 تشکر در 2 ارسال )
ارسال: #1
مشکل در ارتباط با میکرو
سلام من میخوام بین کامپیوتر و میکرو اتباط برقرار کنم به این صورت که مقدار 3 تا پین A رو بخونه و اگه یک بودن به واسم a b c پرینت کنن تا اینجاش مشکلی ندارم اما وقتی میخوام نتیجه اینارو به صورت یه رشته سه تای مثل 101 یا 001 که برای فعال کردن 3 تا از پینهای پورت b هست مشکل دارم
Config Porta = Input : Config Portb = Output
Do

A = Pina.0
If A = 1 Then
Print "a"
Waitms 100
Elseif A = 0 Then
Reset Portb.0
End If

B = Pina.1
If B = 1 Then
Print "b"
Waitms 100
End If

C = Pina.2
If C = 1 Then
Print "c"
Waitms 100
End If

Input , D
Z = Mid(d , 1 , 1)
If Z = "1" Then
Set Portb.0
End If
S = Mid(d , 1 , 1)
If S = "1" Then
Set Portb.1
End If
N = Mid(d , 1 , 1)
If N = "1" Then
Set Portb.2
End If
با این برنامه جواب نگرفتم مشکلش کجاست؟
اینم امتحان کردم نشد
E = Inkey()

If E = "001" Then
Set Portb.0
End If

If E = "010" Then
Set Portb.1
End If

If E = "100" Then
Set Portb.2
End If
۰۷-دى-۱۳۹۰, ۲۰:۵۹:۵۱
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #2
RE: مشکل در ارتباط با میکرو
سلام.

دقيقا مشكلتون با كدوم بخش از برنامه هست ؟
روند پيچيده اي نداره ... ، فقط بايد برنامه رو قسمت قسمت كنيد ...
ببينيد كدوم بخش كار نمي كنه ... ، اونوقت فقط همون رو ، رو ميكرو بريزيد و تست كنيد تا اشكال كار مشخص بشه ...
اون موقع مي تونيد برنامه ي تركيبي بنويسيد.

مثال help بسكام هم ببينيد.

موفق باشيد.
يا علي.

۰۷-دى-۱۳۹۰, ۲۱:۱۹:۰۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : soshyan, WhiteNoise
soshyan آفلاین
تازه وارد

ارسال‌ها: 16
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 16
( 2 تشکر در 2 ارسال )
ارسال: #3
RE: مشکل در ارتباط با میکرو
(۰۷-دى-۱۳۹۰, ۲۱:۱۹:۰۲)sharin نوشته است: سلام.

دقيقا مشكلتون با كدوم بخش از برنامه هست ؟
روند پيچيده اي نداره ... ، فقط بايد برنامه رو قسمت قسمت كنيد ...
ببينيد كدوم بخش كار نمي كنه ... ، اونوقت فقط همون رو ، رو ميكرو بريزيد و تست كنيد تا اشكال كار مشخص بشه ...
اون موقع مي تونيد برنامه ي تركيبي بنويسيد.

مثال help بسكام هم ببينيد.

موفق باشيد.
يا علي.

مشکل من این که میخوام از طریق کامپیوتر 3 تا پین میکرو رو 0 و 1 (set , reset)کنم حالا به هر طریقی
من خودم در نظر داشتم یه رشته 3 تای بفرستم وبا میکرو با دستور mid وسط خوانی کنم و واسه هر کدوم شرط بزارم اما برنامه هام جواب نداد
هم input و inkey استفاده کردم جواب نداد برنامم
قبلا ارتباطام چک کردم درسته مثلا با ای کد ها جواب گرفتم
A = Inkey()
If A = "a" Then
Set Portb.0
Elseif A = "b" Then
Reset Portb.0
end IF
وقتی "a" میفرستادم پینم 1 میشد وقتی "b" میفرستادم پینم 0 میشد
اما وقتی تعداد خروجی بالا باشه به اینصورت جالب نیست
من همه help هم برای این دستورا خوندم اما نتونستم جواب بگیرم
۰۷-دى-۱۳۹۰, ۲۲:۰۷:۴۳
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #4
RE: مشکل در ارتباط با میکرو
شما از طريق terminal emulator با ميكرو ارتباط برقرار مي كنيد ؟
اين محيط براي ارتباط خيلي محدود هست ...
اگر مي خوايد اين ارتباط رو بسط بديد بايد VB يا C# يا ... ، ياد بگيري كه يه اينترفيس كاربري مختص سخت افزارت بسازي و بهش قابليت بدي ...
اينطوري دستت باز تر هست و ...

موفق باشي.
يا علي.


۰۷-دى-۱۳۹۰, ۲۲:۵۷:۲۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : soshyan
parviz2012 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 171
موضوع‌ها: 16
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4
( 98 تشکر در 74 ارسال )
ارسال: #5
RE: مشکل در ارتباط با میکرو
پیشنهاد این حقیر این است که یکبار دیگه بخش ارتباطات serial و USART&UART رو کاملتر بخونید.حتما موفق میشوید.

گمان مبر که به پایان رسیده کار جهان / هزار باده ناخورده در رگ تاک است
۰۸-دى-۱۳۹۰, ۰۰:۲۷:۰۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : soshyan
soshyan آفلاین
تازه وارد

ارسال‌ها: 16
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 16
( 2 تشکر در 2 ارسال )
ارسال: #6
RE: مشکل در ارتباط با میکرو
(۰۷-دى-۱۳۹۰, ۲۲:۵۷:۲۲)sharin نوشته است: شما از طريق terminal emulator با ميكرو ارتباط برقرار مي كنيد ؟
اين محيط براي ارتباط خيلي محدود هست ...
اگر مي خوايد اين ارتباط رو بسط بديد بايد VB يا C# يا ... ، ياد بگيري كه يه اينترفيس كاربري مختص سخت افزارت بسازي و بهش قابليت بدي ...
اينطوري دستت باز تر هست و ...

موفق باشي.
يا علي.

نه من از متلب استفاده میکنم
چه فرقی داره من از چه نرم افزاری استفاده کنم؟!!!
مسله رو پیچیده میکنید Biggrin
من میخوام یه رشته مثل 101
رو بگیرم و به سه پین میکرو بدم تمام!
دستور خودم نوشتم جواب نداد

Input , D
Z = Mid(d , 1 , 1)
If Z = "1" Then
Set Portb.0
End If
S = Mid(d , 1 , 1)
If S = "1" Then
Set Portb.1
End If
N = Mid(d , 1 , 1)
If N = "1" Then
Set Portb.2
End If

(۰۷-دى-۱۳۹۰, ۲۲:۵۷:۲۲)parviz2012 نوشته است: پیشنهاد این حقیر این است که یکبار دیگه بخش ارتباطات serial و USART&UART رو کاملتر بخونید.حتما موفق میشوید.
من بالا هم گفتم دستورای هلپ رو چند بارخوندم نتیجه نگرفتم
inkey,input,inputhex,inputbin,waitkey
اگه همه میتونستن مشکلاتشون با نگاه کردن هلپ حل بشه دیگه اینقد سایت و کتاب در موردش نبود !

۰۸-دى-۱۳۹۰, ۱۹:۲۸:۲۶
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #7
RE: مشکل در ارتباط با میکرو
آهان ...
خوب همون اول بايد مي گفتي ... !

نقل قول: چه فرقی داره من از چه نرم افزاری استفاده کنم؟!!!
مسله رو پیچیده میکنید Biggrin
از نظر فرق كردن كه خيلي فرق مي كنه ... !

وقتي شما دارين از پروتكل هاي ارتباطي استفاده مي كنيد ، بايد بدونيد دو طرف دارن چيكار ميكنن ... !
يعني فرستنده ، چي رو چطور مي فرسته و گيرنده چي رو چطور مي گيرهه ... !

در حال حاضر شما بايد ببينيد كه MATLAB داده ها رو چطوري مي فرستده ، كه متناسب با همون در ورودي ( كد ميكرو ) دريافت كنيد.

حالا شما گفتي با MATLAB مي خواي ارتباط برقرار كني ، كه من ارتباط با MATLAB رو تا حالا امتحان نكردم اما يه مقاله آقاي 2nafar توي پرتال همين سايت گذاشته كه ممكنه بتونه بهتون كمك كنه ...

در هر صورت پيشنهاد من استفاده از دستور waitkey هست. اطلاعات بيشتر در مورد اين دستور در help بسكام .

موفق باشيد.
يا علي.




۰۸-دى-۱۳۹۰, ۲۰:۲۶:۴۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : soshyan
soshyan آفلاین
تازه وارد

ارسال‌ها: 16
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 16
( 2 تشکر در 2 ارسال )
ارسال: #8
RE: مشکل در ارتباط با میکرو
سلام من گفتم به صورت رشته میفرستم از متلب

A = Inkey()
If E = 97 Then
Set Portb.0
End If
اگه من تو متلب a پرینت کنم Portb.0 ست میشه اینو تست کردم جواب گرفتم

حالا من میخوام به صورت 0001 و 0010 و ... بفرستم واسه 4 تا پین
یعنی چند تا پین رو کنترل کنم با متلب
من اطلاعاتم زیاد نیست در این مورد اما فکر کنم داده های که از متلب یا VB يا C# يا ... بفرستم فرقی واسه میکرو نداره و فقط مهم نوع داده میباشد و همه این نرم افزارها میتونن داده رو به صورتهای مختلف بفرستن
مثلا من از متلب به صورت رشته بفرستم فرقی داره با زمانی که با یک نرم افزار دیگه به صورت رشته بفرستم؟؟؟؟
مهم میکرو هست که وقتی میاد پورت سریال میخونه رشته دریافت میکنه و باید دستور مناسب با اون استفاده کرد
امیدوارم متوجه مشکل من شده باشید
۱۶-دى-۱۳۹۰, ۱۳:۵۵:۰۴
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #9
RE: مشکل در ارتباط با میکرو
شما اگر يه رشته ي 4 كاراكتري بفرستي ، سمت ميكرو 4 بار بايد از دستور گرفتن پشت سر هم استفاده كني ، يا از حلقه استفادي كني ... ( مي توني هر كردوم رو در متغيير هاي جدا يا خانه هاي يك آرايه بريزي ... )
بعد دونه دونه مقادير 4 متغيير رو check كني ...
اين كار رو مي كني ؟
دستوري مثل inkey همونطور كه help بسكام گفته تنها 1 كاراكتر رو بر مي گردونهه ...

موفق باشي.
يا علي.

(آخرین ویرایش در این ارسال: ۲۱-دى-۱۳۹۰, ۰۰:۰۰:۲۰، توسط sharin.)
۲۰-دى-۱۳۹۰, ۲۳:۵۷:۲۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : soshyan
soshyan آفلاین
تازه وارد

ارسال‌ها: 16
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 16
( 2 تشکر در 2 ارسال )
ارسال: #10
RE: مشکل در ارتباط با میکرو
شما اگر يه رشته ي 4 كاراكتري بفرستي ، سمت ميكرو 4 بار بايد از دستور گرفتن پشت سر هم استفاده كني ، يا از حلقه استفادي كني ... ( مي توني هر كردوم رو در متغيير هاي جدا يا خانه هاي يك آرايه بريزي ... )

سلام من مشکلم همینه این دستوری که بشه 4 بار پشت سر هم گرفت چیه؟
من از اینپوت استفاده کردم جواب نداد!
(آخرین ویرایش در این ارسال: ۱۲-بهمن-۱۳۹۰, ۰۱:۵۵:۱۵، توسط soshyan.)
۱۲-بهمن-۱۳۹۰, ۰۱:۳۸:۰۷
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #11
RE: مشکل در ارتباط با میکرو
خوب سادست ديگه ...
البته كار با رشته ها و ... كمي خلاقيت مي طلبه ، اما يه نمونه ي سادهه اينطوريه :
کد:
recv1=waitkey()
recv2=waitkey()
num1=string(1,recv1)
num2=string(1,recv2)
num=num1+num2
cls
lcd num
موفق باشي.
يا علي.


۱۲-بهمن-۱۳۹۰, ۰۹:۵۲:۴۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : h0x00i


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مشکل در پاک کردن برنامه میکرو Salam7 1 398 ۲۹-بهمن-۱۴۰۰, ۲۲:۵۰:۴۴
آخرین ارسال: 1نفر
  ارتباط میکرو با plc از طریق شبکه profibus nex2004 11 14,656 ۰۱-بهمن-۱۳۹۸, ۱۱:۰۰:۱۹
آخرین ارسال: d.hamidi2535
Exclamation ارتباط سريال بين دو ميكرو و نمايش روي lcd با codevision ali313 13 28,959 ۰۱-شهریور-۱۳۹۷, ۱۱:۰۸:۴۳
آخرین ارسال: farhadtavakkol
  مشکل دریافت متن از پورت سریال میکرو sajadcut 1 3,260 ۱۲-آبان-۱۳۹۵, ۲۲:۱۰:۲۳
آخرین ارسال: behzady
  مشکل در ارتباط بیسیم با پروتکل USART cortex-m3 5 6,012 ۰۷-آبان-۱۳۹۵, ۰۰:۱۷:۳۶
آخرین ارسال: milad15m
  هنگ کردن میکرو در ارتباط سریال nex 1 2,890 ۰۴-آبان-۱۳۹۵, ۲۰:۵۶:۵۹
آخرین ارسال: علی محد شریفی
  ارتباط avr با plc از طریق profibus nex2004 5 7,429 ۰۳-مهر-۱۳۹۵, ۰۳:۱۶:۰۸
آخرین ارسال: jalil2008
  ارتباط دو طرفه با فرستنده nrf24 sniper-70 0 2,426 ۰۹-شهریور-۱۳۹۵, ۲۲:۱۶:۴۸
آخرین ارسال: sniper-70
  تست میکرو saber.k 10 14,048 ۰۹-شهریور-۱۳۹۵, ۰۲:۰۹:۲۷
آخرین ارسال: yadulla fazel
  مشکل در هنگام بوت شدن ویندوز و اجرای دستورات میکرو unforgiven 3 3,732 ۳۱-مرداد-۱۳۹۵, ۱۹:۴۷:۲۵
آخرین ارسال: unforgiven

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS