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

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #1
نحوه ایجاد یک شرط خاص
سلام من برنامه زیر رو نوشتم اما میخوام زمانی که صفر دریافت میکنه عکس العمل خاصی از خودش نشون نده این کار به جه شکلی باید انجام بدم ؟
و دیگه اینکه از اینتراپت پورت سریال به چه شکلی باید استفاده کنم



کد:
'*******************************************************************************
$regfile = "m8def.dat"
$crystal = 11059200
$baud = 9600
'*******************************************************************************
Config Timer1 = Pwm , Prescale = 1 , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up
Config Portb.1 = Output
Config Portb.2 = Output
Config Serialin = Normal , Size = 255
Enable Interrupts
Dim Out_pwm As Word
Dim S As String * 10
Dim F1 As String * 10

Cls
Lcd "Welcome"
Wait 2
Cls
Lcd "Light Control"
Wait 2
Cls
Pwm1a = 1023
Pwm1b = 1023

Do
Home
Lcd "data = " ; S ; "   "
Input S
F1 = Mid(s , 2 , 5)
Out_pwm = Val(f1)
Lcd Out_pwm
Pwm1a = Out_pwm
Pwm1b = Out_pwm
F1 = ""
S = ""
Loop

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
۲۶-دى-۱۳۹۱, ۲۰:۰۷:۴۰
ارسال‌ها
پاسخ
behzady آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,169
موضوع‌ها: 57
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4094
( 6339 تشکر در 2085 ارسال )
ارسال: #2
RE: نحوه ایجاد یک شرط خاص
(۲۶-دى-۱۳۹۱, ۲۰:۰۷:۴۰)arash67 نوشته است: سلام من برنامه زیر رو نوشتم اما میخوام زمانی که صفر دریافت میکنه عکس العمل خاصی از خودش نشون نده این کار به جه شکلی باید انجام بدم ؟
و دیگه اینکه از اینتراپت پورت سریال به چه شکلی باید استفاده کنم



کد:
'*******************************************************************************
$regfile = "m8def.dat"
$crystal = 11059200
$baud = 9600
'*******************************************************************************
Config Timer1 = Pwm , Prescale = 1 , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up
Config Portb.1 = Output
Config Portb.2 = Output
Config Serialin = Normal , Size = 255
Enable Interrupts
Dim Out_pwm As Word
Dim S As String * 10
Dim F1 As String * 10

Cls
Lcd "Welcome"
Wait 2
Cls
Lcd "Light Control"
Wait 2
Cls
Pwm1a = 1023
Pwm1b = 1023

Do
Home
Lcd "data = " ; S ; " "
Input S
F1 = Mid(s , 2 , 5)
Out_pwm = Val(f1)
Lcd Out_pwm
Pwm1a = Out_pwm
Pwm1b = Out_pwm
F1 = ""
S = ""
Loop
سوال اول رو متوجه نشدم اما دومی
پس از تعیین سرعت و اینا بعد اینو میزاری
کد:
On Urxc Rs
Enable Urxc
برای وقفه ی پایان ارسال
کد:
On Utxc Rs
Enable Utxc
پس یه لیبل به اسم RS میسازی (دیگه اسمش رو عوض کن هرچی میخوای)
بعد کاری که میخوای بکنی
اگه هم وقفه دریافت هست اولین کار باید
UDR رو بخونی که عدد ارسال شده هست بعد از اسکی به حروف تبدیلش بکنی
یادت نره بعد از فعال کردن اینا وقفه سراسری هم باید فعال بشه
بعد از پایان کارت هم return رو بزاری

به همه عشق بورز، به معدودی اعتماد کن و در حق کسی بدی نکن.
ویلیام شکسپیر

نباید ایمان به انسانیت را از دست دهید. انسانیت یک اقیانوس است؛ اگر قطرات اندکی از اقیانوس کثیف است، اقیانوس کثیف نمی‌شود.
مهاتما گاندی

يَا أَيُّهَا الَّذِينَ آمَنُواْ اسْتَعِينُواْ بِالصَّبْرِ وَالصَّلاَةِ إِنَّ اللّهَ مَعَ الصَّابِرِينَ
(آخرین ویرایش در این ارسال: ۲۶-دى-۱۳۹۱, ۲۰:۴۷:۳۷، توسط behzady.)
۲۶-دى-۱۳۹۱, ۲۰:۴۶:۵۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : omid_phoenix
arash67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #3
RE: نحوه ایجاد یک شرط خاص
ممنون در مورد سوال اول زمانی که از دستور S="" و F1="" استفاده می کنم در زمان دریافت دیتا مقادیر غیر صفر میباشد در هنگام عدم ارسال دیتا متغییر OUT_PWM صفر شده مقدار قبلی خود را ندارد و لازم به ذکر است حذف کردن دستور S="" و F1="" باعث می شود که LCD چرت و پرت نمایش دهد حالا سوال من اینجا این است که به چه شکلی میتونم داده دریافتیمو حفظ کنم ؟ درضمن من از ماژول HMT-HMR 433MHZ استفاده می کنم

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
۲۶-دى-۱۳۹۱, ۲۱:۱۲:۰۶
ارسال‌ها
پاسخ
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,488
موضوع‌ها: 23
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4581 تشکر در 1478 ارسال )
ارسال: #4
RE: نحوه ایجاد یک شرط خاص
راستی باید وقفه سراسری رو هم فعال کنی.
این دستور رو هم باید اضافه کنی:
کد:
Enable Interrupts

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
۲۶-دى-۱۳۹۱, ۲۱:۳۰:۰۴
وب سایت ارسال‌ها
پاسخ
omid_phoenix آفلاین
مدیر بخش
*****

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15433 تشکر در 4574 ارسال )
ارسال: #5
RE: نحوه ایجاد یک شرط خاص
اگه بخواهید مقدار pwm شما بطور ثابت ارسال بشه ؛
یه زیر برنامه ایجاد کنید و مقادیر رو هر لحظه ارسال کنید
کد:
Sub ??
For X = 1 To 10 Step 5
Printbin V
Delay
Next X
pwm1a = 1023
pwm1b = 1023
End Sub

(آخرین ویرایش در این ارسال: ۲۶-دى-۱۳۹۱, ۲۱:۴۱:۰۹، توسط omid_phoenix.)
۲۶-دى-۱۳۹۱, ۲۱:۳۹:۲۳
ارسال‌ها
پاسخ
arash67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #6
RE: نحوه ایجاد یک شرط خاص
مهندس این برنامه ای که من گذاشتم مربوط به گیرنده هستش

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
۲۶-دى-۱۳۹۱, ۲۱:۴۵:۲۷
ارسال‌ها
پاسخ
behzady آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,169
موضوع‌ها: 57
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4094
( 6339 تشکر در 2085 ارسال )
ارسال: #7
RE: نحوه ایجاد یک شرط خاص
(۲۶-دى-۱۳۹۱, ۲۱:۱۲:۰۶)arash67 نوشته است: ممنون در مورد سوال اول زمانی که از دستور S="" و F1="" استفاده می کنم در زمان دریافت دیتا مقادیر غیر صفر میباشد در هنگام عدم ارسال دیتا متغییر OUT_PWM صفر شده مقدار قبلی خود را ندارد و لازم به ذکر است حذف کردن دستور S="" و F1="" باعث می شود که LCD چرت و پرت نمایش دهد حالا سوال من اینجا این است که به چه شکلی میتونم داده دریافتیمو حفظ کنم ؟ درضمن من از ماژول HMT-HMR 433MHZ استفاده می کنم
من درست متوجه نشدم
1- شما دارید S رو مینویسید در حالی که هیچ مقداری ندارد!
2-درسته اگه S رو صفر نکنید LCD چرت و پرت نشون میده ولی نیازی به دومی نیست
3- اون چرت و پرت حاصل از ارسال نادرست هست وگرنه برای بار اول هم که شده باشه باید یک مقدار درستی بگیرید
این که حل شد میریم سراغ حفظ داده
کد:
Do
Home
Lcd "data = " ; S ; " "
S = ""
Input S
F1 = Mid(s , 2 , 5)
Out_pwm = Val(f1)
Lcd Out_pwm
Pwm1a = Out_pwm
Pwm1b = Out_pwm
Loop

(۲۶-دى-۱۳۹۱, ۲۱:۳۰:۰۴)h.unique نوشته است: راستی باید وقفه سراسری رو هم فعال کنی.
این دستور رو هم باید اضافه کنی:
کد:
Enable Interrupts
پست رو رو هوا زدید ها! خودم گفته بودمBiggrin

درضمن بهتره از وقفه استفاده کنین چون به احتمال زیاد در زمان درست به input نمیرسید

به همه عشق بورز، به معدودی اعتماد کن و در حق کسی بدی نکن.
ویلیام شکسپیر

نباید ایمان به انسانیت را از دست دهید. انسانیت یک اقیانوس است؛ اگر قطرات اندکی از اقیانوس کثیف است، اقیانوس کثیف نمی‌شود.
مهاتما گاندی

يَا أَيُّهَا الَّذِينَ آمَنُواْ اسْتَعِينُواْ بِالصَّبْرِ وَالصَّلاَةِ إِنَّ اللّهَ مَعَ الصَّابِرِينَ
(آخرین ویرایش در این ارسال: ۲۶-دى-۱۳۹۱, ۲۱:۴۹:۱۷، توسط behzady.)
۲۶-دى-۱۳۹۱, ۲۱:۴۷:۱۵
وب سایت ارسال‌ها
پاسخ
arash67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 151
موضوع‌ها: 53
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 43
( 33 تشکر در 23 ارسال )
ارسال: #8
RE: نحوه ایجاد یک شرط خاص
نقل قول: 3- اون چرت و پرت حاصل از ارسال نادرست هست وگرنه برای بار اول هم که شده باشه باید یک مقدار درستی بگیرید
مهندس من زمانی که داده ای به گیرنده نمی فرستم چرت وپرت نشون میده

میشه یک شرط تعریف کرد که زمانی که صفر از پورت سریال دریافت کرد کاری انجام نده ؟؟؟؟

3

آنقدر شکست خوردم تا راه شکست دادن را یاد گرفتم .(ناپلئون بنا پارت).
اینم وبلاگ من: WWW.TELECOM89.BLOGFA.COM
(آخرین ویرایش در این ارسال: ۲۶-دى-۱۳۹۱, ۲۲:۵۳:۴۰، توسط arash67.)
۲۶-دى-۱۳۹۱, ۲۲:۰۶:۵۵
ارسال‌ها
پاسخ
behzady آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,169
موضوع‌ها: 57
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4094
( 6339 تشکر در 2085 ارسال )
ارسال: #9
RE: نحوه ایجاد یک شرط خاص
شما اگه بدونی وقتی داده ای در کار نیست چی خونده میشه بله اگه نه باید با وقفه کار کنید

به همه عشق بورز، به معدودی اعتماد کن و در حق کسی بدی نکن.
ویلیام شکسپیر

نباید ایمان به انسانیت را از دست دهید. انسانیت یک اقیانوس است؛ اگر قطرات اندکی از اقیانوس کثیف است، اقیانوس کثیف نمی‌شود.
مهاتما گاندی

يَا أَيُّهَا الَّذِينَ آمَنُواْ اسْتَعِينُواْ بِالصَّبْرِ وَالصَّلاَةِ إِنَّ اللّهَ مَعَ الصَّابِرِينَ
۲۶-دى-۱۳۹۱, ۲۳:۰۷:۰۴
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [فوری] ایجاد موج مربعی با دو کلید و نماش فرکانس در ال سی دی mamadr 0 2,041 ۰۹-تير-۱۳۹۶, ۱۶:۲۰:۲۹
آخرین ارسال: mamadr
  [سوال] نحوه تست میکرو atmega32 salexe 0 2,037 ۲۵-مرداد-۱۳۹۵, ۲۱:۲۸:۲۱
آخرین ارسال: salexe
  ایجاد فرمان TAB در MMC nex 1 2,017 ۰۲-اردیبهشت-۱۳۹۵, ۱۰:۲۴:۱۸
آخرین ارسال: nex
  سوال درباره نحوه تولید پالس مربعی sinohe 37 41,329 ۱۷-اسفند-۱۳۹۴, ۱۸:۳۶:۲۴
آخرین ارسال: sharin
  [سوال] نحوه کار با آی سی TCA785 hamze_b 1 2,710 ۱۴-مرداد-۱۳۹۴, ۱۳:۵۴:۱۱
آخرین ارسال: hamze_b
  [حل شد] ایجاد تاخیر متغیر در حد میکرو ثانیه hamze_b 3 4,549 ۲۲-تير-۱۳۹۴, ۰۷:۱۱:۰۰
آخرین ارسال: behzady
  [فوری] نحوه ی برقراری ارتباط بین 2میکرو mahdifaraji 33 11,865 ۱۷-تير-۱۳۹۴, ۱۸:۲۱:۴۰
آخرین ارسال: mahdifaraji
  ایجاد میدان مغناطیسی با AVR متین 7 6,679 ۲۶-فروردین-۱۳۹۴, ۱۸:۳۸:۲۱
آخرین ارسال: sharin
  [سوال] نحوه تشخیص پایه های سنسور اولتراسونیک silent70un 6 9,981 ۲۶-بهمن-۱۳۹۳, ۱۲:۵۷:۵۷
آخرین ارسال: student123
  [فوری] نحوه ی ارتباط دو میکروکنترلر ای وی آر با تراشه ی TJA1050 solmaz1992 4 2,749 ۰۷-دى-۱۳۹۳, ۲۲:۰۰:۴۴
آخرین ارسال: solmaz1992

پرش به انجمن:


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

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