سلام
رو سیستمم نصبش کردم به راحتی هم کرک شد.
دارم ازش استفاده میکنم.
سلام
رو سیستمم نصبش کردم به راحتی هم کرک شد.
دارم ازش استفاده میکنم.
_____________________________________
_____________________________________
زحمت این لینک رو اقای عبدی کشیدن برای دانلود کامپایلر iar.
تو سایت نحوه کرک رو هم توضیح داده.
با تشکر از دیگر دوستانی ک لینک های دیگه ای برای کامپایلر گذاشتن.
لینک دانلود کامپایلر iar :
شما برای iar جستجو کردید - دانلود رایگان نرم افزار
بعد چن تا سوال :
1- قضیه این دیتاشیت چیه؟ لینک دانلودشو میشه قرار بدید.
2- این stm8 , 32 برند هستن یا خود میکرو اند؟ اگه یه دیدی بدید ممنون میشم.(بنده با pic کار میکردم،تازه اومدم میخام با arm کار کنم.)
3- پرژه اولی ک طبق فیلم جلو میرفتیم برای بنده چن تا گزینه رو نداشت،ب همین دلیل نتونستم کاملش کنم. مخصوصا از اونجا ک edit configuration رو انتخاب کردیم،اونی ک تو فیلم بود یه گزینه داشت و یکی جدید اضافه شد. برامن 5 یا 6 تا داشت.....
4- این برنامه ها خروجی هگز دارن و میشه شبیه سازی کرد؟ قضیه debug چیه؟
ببخشید اصن دیدی نسبت ب کار ندارم.
ممنون
ویرایش توسط amanver : 30-06-2015 در ساعت 18:33
اسمبلی انتخاب کرده بودم چون آسون تر بود
(سعی داشتم یه برنامه اسمبلر آزمایشی در لینوکس را برای stm8 امتحان کنم)
کاش خود کویرالکترونیک لینک این فایلها رو توی فروشگاه بزنه که مشتری ها راحت دانلود کنن
ویرایش توسط behador : 24-11-2015 در ساعت 12:00
سلام
در میکروی stm8s003f3 برای استفاده از زیرروال وقفه از چه نامی بایستی استفاده شود؟
در هدرش اینها را تعریف کرده:
با رجیستر سریال راه اندازی کردم. با stm32 تفاوت ها بسیاره. کلا مثالی نداره. کامپایلرشم که متفاوتهکد:* Interrupt vector numbers *-----------------------------------------------------------------------*/ #define AWU_vector 0x03 #define CLK_CSS_vector 0x04 #define CLK_SWITCH_vector 0x04 #define EXTI0_vector 0x05 #define EXTI1_vector 0x06 #define EXTI2_vector 0x07 #define EXTI3_vector 0x08#define EXTI4_vector 0x09
در stm32 زیرروال وقفه این بود :کد:void EXTI0_IRQHandler(void)
stm کارا به خواب زمستانی رفتند در پاییز
اینه :کد:__interrupt voidEXTI_PORTD_IRQHandler(void)
در کامپایلر iar از توابع stdio مثل printf برای نمایش روی پورت سریال استفاده کرده اید؟
در کیل به سادگی این کار انجام می شد:
که این در یک فایل واسط به نام retarget بود. ولی در iar کار نمی کنه. اول که میگه FILE نمی شناسم. بعدش کهکد:int fputc(int ch, FILE *f) { return (SendChar(ch)); }
اضافه می کنم بشناسه کار نمی کنه. ظاهرا فایل stdio.h آن با کیل فرق دارهکد:typedef struct __FILE FILE;
برای دیباگ کردن چکار میکنید؟
یعنی علاوه بر اینکه stlink وصله باید به پورت سریال هم وصلش کرد؟
یا اینکه خود stlink هم یه ترمینال برای دیباگ داره؟
برای دیباگ که یک مثلث سبز داره iar هم دانلود هم دیباگ. پروگرامر stlink هم وصله به برد
پایه خروجی سریال هم با یه مبدل یو اس بی به سریال وصل می کنیم pc و با هایپرترمینال مشاهده می کنیم. همین !
در میکرویstm8s003f3 سه تا تایمر داره. تایمر 1 و 2 و 4
16bit advanced control timer : TIM1تایمر 2 کار می کنه ولی تایمر 1 و 4 با تنظیمات مشابه درست کار نمی کنه. میره در زیروال وقفه انگار در نمیاد و همین طور پایه ای که تنظیم شده خروجی ست ریست می کنه! با توجه به اینکه پرچم وقفه هم در زیرال وقفه پاک میشه.
16bit general purpose timers : TIM2
8bit basic timer : TIM4
کسی استفاده کرده ببینم ایراد سخت افزاریه یا نرم افزاری؟
نمی دونم آقای عبدی این برنامه تایمر که گذاشتند تست هم کردند؟
ویرایش توسط mzarkoob : 14-10-2015 در ساعت 10:21
با سلام
من وقفه تایمر 2 و 4 را با cmsis راه اندازی کردم . مطئن باشید کار میکنه. مثال تایمر 4 هم دقیقا اونی را که داخل فولد std_library هست استفاده کردم.من یک مشکل با وقفه adc دارم که با در هر بار وقفه باید اون را دوباره استارت کنیم.
مسئله اینه که من با رجیستر تنظیمات لازم را انجام داده ام . حالا باید ببینم این کتابخانه ها چه تنظیمات اضافی انجام داده است. بعید می دانم تنظیم اضافه تری بخواهد. چون مثل هم هستند، یکم از تایمر 2 پیشرفته تر یه کم پس رفته تر!
بله adc همین طوره اینجا ظاهرا. در مرحله اول اصلا بدون وقفه کار نمی کرد در حالی که میکروهای دیگه بدون وقفه میشد یک راه اندازی اولیه با چک کردن بیت اتمام تبدیل با while داشت.
سلام
شما میتونید یه فیلم آموزشی فارسی بزارید باکلام پولشو میدیم
نشمردم تعداد دفعاتی که تا الان این میکرو را پروگرام کردم ولی فکر کنم بیشتر از صد تا شده
سلام
کسی وقفه های خارجی را راه اندازی کرده
من به صورت زیر تنظیم کردم. (روی لبه پایین رونده). بدون پالس مرتب میپره تو وقفه!!!!!!!کد://PIR==PD.3 INPUT INTTRRUPT WITH PULL-UP GPIOD->DDR&=~(1<<3); GPIOD->CR1|=(1<<3); GPIOD->CR2|=(1<<3); EXTI->CR1|=0X80; //PORTD IS EXTERNAL INTTRUPT AND FLALING EADGE ONLY SENSIVITY INTERRUPT_HANDLER(EXTI_PORTD_IRQHandler, 6) { char buffer[5]; if(( GPIOD->IDR & 0x08)==0) { //if pd.3==0 eeprom_read(34,buffer,1); if (strstr(buffer,"1")){ //if :securtiy:on sprintf(Buffer_I2C_Rx,"alertpir:on"); //send pir alert to esp8266 } else{ memset(buffer, '\0', sizeof(buffer)); eeprom_read(18,buffer,3); pir_delay=atoi(buffer); if(pir_delay!=0){ TIM4->CR1|= TIM4_CR1_ARPE | TIM4_CR1_URS |TIM4_CR1_CEN; // enable timer TIM4->IER|= TIM4_IER_UIE; // enable TIM4 interrupt } } } }از iar دارم استفاده می کنم.
ویرایش توسط mzarkoob : 29-10-2015 در ساعت 20:50 دلیل: اصلاح کد
یک برنامه بنویسید که فقط تنظیمات وقفه باشه و یک led که تا وقفه اومد پایه تاگل بشه. این برنامه همه چی توش هست
تنظیمات GPIO برای پایه مربوطه را چک کنید درست باشد. ورودی باید باشه و floating
با سلام خدمت همه دوستان
- - - Updated - - -
من با stm8s003f3p6 کار کردم این میکرو رو بدون برد خریداری کردم و روی برد تبدیل SSOP نصب کردم و برای پروگرام کردنش دچار مشکل شدم با پروگرامر stlink بعد از کلی تحقیق متوجه شدم که یک نکته مهمبرای پروگرام کردناین میکرو وجود داره اون هم پایه Vcap هست که حتما باید با یک خازن نانو فارادی به زمین وصل بشه
- - - Updated - - -
خوب نکته بعد در این میکرو رجیستر های موجوددر iostm8s003f.h هست که قابلیت استفاده مستقیم و مقدار دهی مستقیم به تک تک پین ها را دارد
- - - Updated - - -
اگه دوستان مایل بودند بگن تا ادامه راه اندازی قسمت های مختلف این میکرو منظور stm8s003f3p6 رو بگم
- - - Updated - - -
یه سوال :
آیا کسی تونسته این میکرو رو به ال سی دی 2*16 وصل کنه و باهاش نمایش دیتا بده
سلام
دست شما درد نکنه که تجربیاتتون رو در اختیار همه قرار دادین
شما شروع کنید به ادامه دادن بقیه قسمت ها و نکته های که باهاشون برخورد کردین
بعد من هم با شما هستم
شرکت Time Owner
سلام خدمت مهندس قاسمی دوست عزیز
من مجید نبی از شهرستان آباده هستم الاندر مرکز رشد واحد های فناور مستقر هستم اگه معرفی کنید خوشحال میشم
درباره این میکرو همه اطلاعاتی که آقای مهندس عبدی گفتن کاملا درست اما یکم جسته و گریخته گفتن و به نظر من بهتره ریزتر و با جزییات بیشتر ادامه بدیم
اول اینکه این میکرو فقط با یک روش قبل پروگرام کردنه اونم یک سیمه یا SWIM هست که توی دیتاشیت گفته شده
و تنها یک پروگرامر فقط در دسترس ماست برای پروگرام کردن اون اون هم stlink هست که دونمونه 18000 تومانی و 59000 تومانی
اگه مثل من خود میکرو رو تهیه کردین که باید چهار سیم RESET SWIM GND VCC رو به میکرو متصل کنید و دقت کنید که حتما Vcap رو با خازن به VSSیا همون GND وصل کنید
ببخشید که غلط املایی دارم
و در ادامه از مثال آقای مهندس عبدی عزیز میتونین برای تست gpio استفاده کنین که درست هم هست اما یک روش آسانتر برای تغییر مقدار خروجی هم داریم
که توی پست قبلی گفتم
ویرایش توسط mzarkoob : 03-12-2015 در ساعت 12:19
سلام.فایلی که گذاشتید موقع باز کردن با iar خطا می دهد