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

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

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #133
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
ممنون اما باز جواب نداد ... باز هم اشكال مي گيره !!

------------------
يه مشكل تازه ...
براي دستور :
کد:
target = FORMAT(source, "mask")
به help مراجعه كردم كه بهتر درك اش كنم . ميان توضيحات يه مثال زده بود و خواستم همون رو اجرا كنم و برنامه اش رو به شكل زير نوشتم ...
کد:
$regfile = "m16def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.4 , Rs = Portd.5
Dim L As Long , X As Long , Res As Long , S1 As String * 10
L = 100
X = 2
Res = L / X
S1 = Str(res)
Print Format(s1 , "000.00")
End
از اين اشكال نمي گيره ، اما در پروتوس عمل نمي كنه و چيزي در LCD نوشته نمي شه و در قسمت massege ها يه پشت اخطار مي ده !!

بعد ، كار print چي هست ؟؟
عبارت S1 = Str(res) چه معني يي مي ده و چه كاري رو انجام مي ده ؟؟
در نهايت بايد كدوم متغيير روي LCD به نمايش در بياد ؟!!!!!

اگر خواستيد ، فايل پروتوس اش رو بذارم ...
ممنون از توجه اتون.

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

ارسال‌ها: 959
موضوع‌ها: 109
تاریخ عضویت: دى ۱۳۸۹

تشکرها : 2866
( 2450 تشکر در 949 ارسال )
ارسال: #134
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
print برای ارسال داده ها به پورت سریال است(به جای print از lcd استفاده کن)

str مقدار عدد متغییر res توی s1 میرزه

در lcd مقدار متغییر res که درون s1 ریخته شده به نمایش در میاد

:)

دوستان الکترونیکی پیشنهاد می کنم حتما برن python یاد بگیرن ...
پروژه ، مقاله ،... 
۱۵-بهمن-۱۳۸۹, ۱۱:۰۵:۵۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : sharin, behzadX, رسول, ahmado
sharin آفلاین
مدیر بازنشسته
*****

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

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #135
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
ممنون . خيلي خوب بود . جواب داد .
اما اون قضيه ي defbyte x هنوز حل نشده !!!
فقط يك بار قبلا ازش جواب گرفتم كه يه آرايه به صورت زير براش تعريف كردم.
کد:
defbyte a[10]
البته جالب بود كه وقتي از ( 10 )a استفاده مي كردم جواب نمي داد و ايراد مي گرفت !!

.............................................

يه موضوع ديگه اينه كه هر وقت در پروتوس كريستال خارجي مي ذارم احساس مي كنم ازش استفاده اي نمي شه ( يعني واقعا نمي شه !! ) و فركانس در شبيه سازي با osilator داخلي فقط تغيير مي كنه !! ( CKSEL FUSE )

براي استفاده از كريستال خارجي بايد در برنامه دستوري اضاف كرد ؟؟

ممنون.

يا علي.

۱۵-بهمن-۱۳۸۹, ۱۳:۴۵:۵۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : ahmado
reza555 غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,073
موضوع‌ها: 17
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 3779
( 3261 تشکر در 1342 ارسال )
ارسال: #136
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
برای DefByte اینو بخون .
کاربردشو گفته
کد:
You can also use DEFINT, DEFBIT, DEFBYTE ,DEFWORD ,DEFLNG or DEFSNG.

For example,DEFINT c tells the compiler that all variables that are not dimensioned and that are beginning with the character c are of the Integer type.

زندگی مدیریت فرصت هاست.
۱۵-بهمن-۱۳۸۹, ۱۴:۲۵:۰۹
ارسال‌ها
پاسخ
تشکر شده توسط : sharin, h0x00i, رسول, ahmado
sharin آفلاین
مدیر بازنشسته
*****

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

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #137
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
ترجمه :

همينطور شما مي تونيد از defint,...,....,.... استفاده كنيد.

براي مثال ، defint c به كامپايلر مي گه كه تمام متغيير هايي كه بعد ندارند و با كاراكتر c شروع مي شوند از نوع integer هستند.

..................................

يعني وقتي [] جلوي كاراكتر نباشه بدون بعد هست ، خوب . اما چه كمكي به مشكل من مي كنه ؟!

ممنون.


(آخرین ویرایش در این ارسال: ۱۵-بهمن-۱۳۸۹, ۱۵:۳۲:۰۵، توسط sharin.)
۱۵-بهمن-۱۳۸۹, ۱۵:۳۰:۳۴
وب سایت ارسال‌ها
پاسخ
reza555 غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,073
موضوع‌ها: 17
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 3779
( 3261 تشکر در 1342 ارسال )
ارسال: #138
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
میگه این به کامپایلر میگه تمام متغیر هایی که تعریف نشدن و با حرف C شروع میشن رو integer در نظر بگیره
چرا لقمه رو دور سرت میچرخونی
از همون Dim ساده استفاده کن

زندگی مدیریت فرصت هاست.
۱۵-بهمن-۱۳۸۹, ۱۶:۰۷:۳۹
ارسال‌ها
پاسخ
تشکر شده توسط : sharin, رسول
sharin آفلاین
مدیر بازنشسته
*****

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

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #139
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
نقل قول: میگه این به کامپایلر میگه تمام متغیر هایی که تعریف نشدن و با حرف C شروع میشن رو integer در نظر بگیره
ا ... به اين قشنگي ترجمش كردم ، چرا دستش زدي :دي

تعريف نشده نه ... هموني كه خودم گفتم درسته .
ممنونم . درست شد .
عجيبه ها ... حامد خان گفت 2 تايي تعريف كن ، اما اون موقع جواب نداد !!
اما حالا جواب مي ده !! 100% از گيج بازيه خودمه :دي . اما باعث شد بهتر بفهمم اش .

نقل قول: چرا لقمه رو دور سرت میچرخونی
از همون Dim ساده استفاده کن
آخه تا لقمه رو دور سر نچرخوني ، نمي فهمي كه dim يه چيز ه ديگه ست !! :دي
حقيقتش عادت دارم كه اگر چيزي رو نفهميدم ، با تمام وجود سعي كنم كه بفهمم اش .

---------------------------------------
حالا اين يكي ديگه چشه !!
خيلي بهش ور رفتم ، اما پيغام خطا ساز مخالف ميزنه !!

در خط 15 و 22

کد:
$regfile = "m161def.dat"
$crystal = 12000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd4 , Rs = Portd.5
Dim S As String * 10 , A As Byte , I As Single
Cls
I = 10
A = 3
I = I / A
S = Str(i)
Locate 1 , 1
Lcd S
Wait 1
Locate 2 , 1
Lcd Fusing(s , "#.##")
Wait 1
Locate 1 , 2
Lcd S
Wait 2
Cls
Locate 1 , 1
S = Fusing(s , "#.##")
Lcd S
End

(آخرین ویرایش در این ارسال: ۱۵-بهمن-۱۳۸۹, ۱۷:۱۱:۲۳، توسط sharin.)
۱۵-بهمن-۱۳۸۹, ۱۷:۰۷:۳۹
وب سایت ارسال‌ها
پاسخ
reza555 غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,073
موضوع‌ها: 17
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 3779
( 3261 تشکر در 1342 ارسال )
ارسال: #140
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
توی خط 15 رو نگاه کن ببین مشکل چیه
ظاهرا Lcd با fusing مشکل داره
توی برنامه کرسر رو بیار روی Lcd و F1 رو بزن یا توی هلپ دستور LCD رو ببین چی گفته
گفته ثابت تعریف شده یا متغیر مقدار دهی شده رو نمایش میده
و شما اینجا اول باید نتیجهfusing رو میریختی توی یه متغیر رشته و بعد نمایش میدادی

خط 22 رو هم همین کارو بکنی به این میرسی:

نتیجه عمل fusing که روی متغیر منبع که اینجا S هست انجام میشه ، توی متغیر هدف باید ریخته شه و اون هر رشته ای میتونه باشه جر متغیر منبع پ
شما اینجا S رو fusing کردی و ریختی تو خودش
پس اینم دو اشکال برنامت

زندگی مدیریت فرصت هاست.
۱۶-بهمن-۱۳۸۹, ۰۱:۳۰:۵۰
ارسال‌ها
پاسخ
تشکر شده توسط : sharin, رسول
sharin آفلاین
مدیر بازنشسته
*****

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

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #141
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
ممنون توضيحات خوبي بود ...
حالا برنامه رو به شكل زير نوشتم ، اما حالا از خط آخر ايراد ميگيره و كلي هم اختار مي گيره !!
چيكارش كنم ؟!! اشكال از كجاست ؟؟!!

کد:
$regfile = "m161def.dat"
$crystal = 12000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd4 , Rs = Portd.5
Dim S As String * 10 , A As Byte , I As Single
Cls
I = 10
A = 3
I = I / A
Locate 1 , 1
S = Str(i)
Lcd s
Wait 1
S = Fusing(i , "#.##")
Locate 2 , 1
Lcd S
End
ممنون
يا علي.

۱۶-بهمن-۱۳۸۹, ۱۶:۲۳:۴۸
وب سایت ارسال‌ها
پاسخ
reza555 غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,073
موضوع‌ها: 17
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 3779
( 3261 تشکر در 1342 ارسال )
ارسال: #142
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
ببین برای تعریف پایه های ال سی دی برای پایه E چجوری تعریف کردی
کد:
E = Portd4
درستش اینه:
کد:
E = Portd.4
یه دات جا انداختی

زندگی مدیریت فرصت هاست.
(آخرین ویرایش در این ارسال: ۱۶-بهمن-۱۳۸۹, ۱۹:۴۱:۱۷، توسط reza555.)
۱۶-بهمن-۱۳۸۹, ۱۹:۴۱:۰۱
ارسال‌ها
پاسخ
تشکر شده توسط : sharin, رسول, h0x00i
sharin آفلاین
مدیر بازنشسته
*****

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

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #143
RE: سوالهای برنامه نویسی با کامپایلر BASCOM
بازم سلام.
آقا رضا ايول ... ، چشماي تيزي داري ... ( فكر نمي كردم يه همچين مشكلي ، همچين خطايي بگيره ... ! )
.....................................

اگه ممكنه يكي از دوستان لطف كنن و در مورد دستور زير يه توضيح مختصر و مفيدي بدن :

کد:
#IF varexist("S")

بيشتر منظورم varexist هست...

ممنون.

(آخرین ویرایش در این ارسال: ۱۸-بهمن-۱۳۸۹, ۱۷:۰۳:۵۷، توسط sharin.)
۱۸-بهمن-۱۳۸۹, ۱۷:۰۳:۱۱
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question [سوال] کمک در برنامه نویسی دور موتور خودرو HPower 6 2,592 ۲۵-آبان-۱۳۹۷, ۲۲:۰۳:۵۷
آخرین ارسال: alimogmov
  برنامه نویسی AVR به روش فلوچارتی با نرم افزار FLOWCODE AVR V3 koorosh.k 8 12,641 ۲۴-آذر-۱۳۹۵, ۲۲:۴۶:۰۸
آخرین ارسال: 1نفر
  BASCOM-AVR V2.0.5.0 + Patch p3rtic@n 2 5,472 ۰۵-شهریور-۱۳۹۴, ۱۵:۴۵:۰۱
آخرین ارسال: ehsan2774
  برنامه نویسی بیسکام soy1345 17 13,270 ۲۳-مرداد-۱۳۹۴, ۱۷:۱۷:۵۶
آخرین ارسال: MN-123
  آموزش برنامه نویسی ربات مسیریاب kamran0080 3 10,199 ۲۶-تير-۱۳۹۴, ۱۷:۲۵:۳۶
آخرین ارسال: sona2
Exclamation کمک در مورد برنامه نویسی avr . saeedsniper2 5 3,585 ۱۵-اردیبهشت-۱۳۹۴, ۰۹:۲۰:۳۳
آخرین ارسال: kimiafars
  سوال در مورد انتخاب سنسور و برنامه نویسی dj kaka 10 6,397 ۰۲-اسفند-۱۳۹۳, ۰۹:۱۱:۰۳
آخرین ارسال: dj kaka
  کمک در برنامه نویسی mehdi_mecha 1 2,363 ۰۸-بهمن-۱۳۹۳, ۱۵:۵۸:۰۵
آخرین ارسال: a.mehran
  خطا در نصب کامپایلر ۶٫۲ ATMEL Studio cinapa 0 1,536 ۰۷-بهمن-۱۳۹۳, ۱۵:۲۸:۳۱
آخرین ارسال: cinapa
  [آموزشی] Exclamation دانلود ویرایش دوم کتاب اصول کار با میکرو کنترلر های avr و کامپایلر بسکام a.mehran 0 3,259 ۱۷-آبان-۱۳۹۳, ۱۸:۵۵:۳۰
آخرین ارسال: a.mehran

پرش به انجمن:


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

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