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

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #1
مقدار پیش فرض متغیرها در بیسکام
با سلام
همون طور که می دونید مقدار متغیر ها به صورت پیش فرض در بیسکام صفره. در کدویژن هم همین طور. تو کدوژن که یه فایل اسمبلی تو خروجی ارائه میده من دقت کردم دیدم خود کامپایلر داره رم رو کلا پاک میکنه. یعنی مقدار دهی پیش فرض ، نرم افزاریه نه سخت افزاری.
حالا سوال: آیا میشه کاری کرد که وقتی میکرو رو ریست می کنیم یا با واچداگ ریست میشه و بعدش که برنامه در حال لود هستش مقدار متغیر ها به حالت پیش فرض (صفر) تغییر نکنه ؟ در کدویژن فکر میکنم با تغییر در فایل اسمبلی این کار ممکن باشه ولی در بیکام که فایل اسمبلی نداره نمی دونم چه باید کرد. آیا جایی رو باید تنظیم کرد یا کاری دیگر؟
ممنون

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۳-تير-۱۳۸۶, ۰۶:۰۶:۱۲
وب سایت ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #2
 
فکر می کنم تو تنظیمات خود کمپایلر (کدویژن فکر کنم داشت) یه جایی داشت که می شد بهش بگی داده ها رو صفر نکنه فکر کنم اسمش اینشیال واریابل یا یه همچین چیزی بود

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۲۳-تير-۱۳۸۶, ۱۳:۲۸:۳۱
وب سایت ارسال‌ها
پاسخ
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #3
 
کلا متغیر ها در هر زبان برنامه نویسی صفر در نظر گرفته میشوند به غیر از بعضی زبانها که منطقه ای را برای متغیر ها به صورت مشترک با برنامه های دیگر استفاده میکنند مثل سی که تا 500 کیلو می تونه طول متغیرش باشه البته به صورت ارایه این همون فضایی که لیست پیوندی پشته و توابع از اون استفاده میکنند شما بهتره داده هاتون رو تو eeprom که به همین منظور است بنویسید که محدودیت تعداد نوشتن رو باید در نظر بگیرید ویا برای چه میکرو ریست شه میشه با یک goto از خط اول برنامه شروع کنید تا متغیرها هم حفظ بشه
۲۳-تير-۱۳۸۶, ۱۴:۴۶:۵۲
وب سایت ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #4
 
با تشکر از دوستان
باید بگم که بنده این کار رو برای حفظ شدن مقادیر real_time_clock داخلی ، در نظر داشتم. و همون طور که مشخص هستش از eeprom نمی شه استفاده کرد.

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۴-تير-۱۳۸۶, ۰۳:۱۴:۱۵
وب سایت ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #5
 
آقا پیداش کردم دستور
NORAMCLEAR $ این کار و میکنه

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۴-تير-۱۳۸۶, ۰۴:۰۱:۱۴
وب سایت ارسال‌ها
پاسخ
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #6
 
دستور جالبی بود اگه برای ساعت میخوای 1307 ای سی خوبیه
۲۵-تير-۱۳۸۶, ۱۱:۳۱:۴۲
وب سایت ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #7
 
عزیزان سلام
حالا که پاک نشدن رم رو بکار بردم مشکل جدیدی بوجود اومده و اون هم اینه که مقدار پیش فرض متغیر ها وقتی میکرو رو روشن میکنیم (نه موقعی که ریست میکنیم) چیه؟ والا من یه امتحان تو عمل کردم . موقع روشن شدن مقادیر برابر صفر یا هر عدد دیگه ای نیست. یکی 7،یکی 133 و.. . البته تقریبا همیشه مقدار یه متغیر موقع روشن شدن ثابته. یعنی اگه یه متغیر یه بار 140 اومد تقریبا همیشه 140 میاد . من که گیج شدم چون این مقدار به آدرسی که اون متغیر در اون قرار داده شده بود هم بی ارتباط بود. (مکان متغیر در بیسکام با at مشخص میشه).
من اون متغیر هایی رو که باید پیش فرض صفر میداشتن رو صفر کردم . ولی مسئله این جاست که متغیر هایی که توی اون ها ساعت قرار داره فقط موقعی که میکرو روشن میشه باید مقدار دهی بشن نه هیج موقع دیگه ای . من برای این کار یه متغیر در رم گذاشتم که برنامه با اون بفهمه که الان که داره از اول شروع به کار میکنه به خاطره روشن شدنه یا ریست شدن. اسمش frs هستش و date_clk آرایه ساعت. نگاه کنید. (ساعت 12:00 24/04/1386)
If Frs = 7 Then
Date_clk(1) = 12
Date_clk(2) = 0
Date_clk(3) = 13
Date_clk(4) = 86
Date_clk(5) = 4
Date_clk(6) = 24
Frs = 1
End If
همون طور که میبینید این جا مقدار پیش فرض 7 هستش. این در حالی که تو پروتئوس همه متغیر ها صفر هستن. این عدد 7 متاسفانه قابل اعتماد نیست.
اگه من از ds 1307 استفاده نمی کنم به خاطره کمبود پایه است.
اصلا اون کسایی که RTC داخلی استفاده میکنن، چی کار میکنن؟یعنی میکروشون ریست نمی شه؟ یا واچداگ استفاده نمی کنن؟
دوستان اگه اطلاعاتی دارن لطف کنن بگن.

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۶-تير-۱۳۸۶, ۰۳:۵۷:۰۸
وب سایت ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #8
 
خود میکرو یه رجیستر داخلی داره که می تونی بفهمی ریست سرد بوده یا ریست گرم و یا اینکه با واچ داگ ریست شده
شما می تونی چک کنی اگه با وصل برق ریست شده بود متغیر ها رو مقدار دهی کنی

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

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #9
 
جالبه اگه میشه بیشتر توضیح بدین
۲۶-تير-۱۳۸۶, ۱۴:۰۴:۱۶
وب سایت ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #10
 
آقا دستت درست

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۷-تير-۱۳۸۶, ۰۳:۲۴:۴۳
وب سایت ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #11
 
با سلام خدمت دوستان
آقای new design خواسته بودن که بیشتر توضیح داده بشه.
یه ثبات هست به نام MCUCSR که تو اون مشخص میکنه منبع ریست چی بوده.
کلا منابع ریست اینا هستن:
JTAG , WATCHDOG , BROWN-OUT , EXTERNAL , POWER-ON
که برای هر کدوم یه بیت هست که با یک شدن مشخص میکنه که کدوم باعث ریست شده. این بیت یک می مونه و باید خودمون صفرش کنیم.

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۸-تير-۱۳۸۶, ۰۵:۰۴:۵۴
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مشکل برنامه تایمر با بیسکام soy1345 7 2,026 ۲۲-فروردین-۱۳۹۸, ۲۰:۴۸:۰۶
آخرین ارسال: 1نفر
  مشکل در ارسال مقدار دو ولوم از طریق HMT-HMR starlit 6 4,105 ۰۴-مهر-۱۳۹۴, ۱۹:۱۰:۲۳
آخرین ارسال: starlit
  برنامه نویسی بیسکام soy1345 17 13,270 ۲۳-مرداد-۱۳۹۴, ۱۷:۱۷:۵۶
آخرین ارسال: MN-123
  [مقاله] آموزش بیسکام و کدویژن با پروژه های عملی ( بدون جزوه و فیلم ) aKaReZa75 106 89,947 ۱۷-فروردین-۱۳۹۴, ۱۷:۳۹:۴۲
آخرین ارسال: amoosa
  حساب کردن مقدار موثر با میکرو atmega16 در بسکام m.riahi 2 2,738 ۰۶-مهر-۱۳۹۳, ۰۰:۲۵:۳۸
آخرین ارسال: m.riahi
  خطا در مقدار عدد دریافتی از ADC مگا 8 علیدلی 1 2,348 ۰۷-مرداد-۱۳۹۳, ۰۰:۰۱:۴۸
آخرین ارسال: omid_phoenix
  ثابت نگه داشتن مقدار دریافتی از ADC cinapa 9 8,928 ۲۶-آبان-۱۳۹۲, ۰۲:۰۶:۲۸
آخرین ارسال: king40
  مشکل در نصب بیسکام رسول 7 5,991 ۰۷-آبان-۱۳۹۲, ۱۵:۰۲:۳۹
آخرین ارسال: hadikh73
  خواندن مقدار 8 بیتی ADC فروم باز 6 4,490 ۲۷-مهر-۱۳۹۲, ۲۲:۵۶:۵۱
آخرین ارسال: sharin
Sad [سوال] تبدیل BYTE به دیگر متغیرها و بلعکس amoosa 2 4,068 ۲۳-اسفند-۱۳۹۱, ۱۷:۵۷:۵۶
آخرین ارسال: sharin

پرش به انجمن:


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

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