پر بحث ترین ها
مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...
- 2 سال پیش
LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...
- 4 سال پیش
ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموتهای درب بازکن تا ریموتهای دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی میکنند و آنهم ارسال اطلاعات بهصورت بیسیم است....
- 5 سال پیش
امنیت همیشه و در همهی اعصار، مقولهی مهم و قابلتوجه ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموتهای کنترل خواهیم پرداخت....
- 5 سال پیش
نزدیک به 5 ماه از مسابقه دوم سیسوگ میگذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالشها...
- 2 سال پیش
بزنم میکروکنترلر را بسوزونم اونم تو این شرایط!، طراحی مسابقه از اون چیزی که به نظر میرسه سختتر است، باید حواست باشه...
- 11 ماه پیش
آموزش قدم به قدم راه اندازی +NRF24L01 با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...
- 3 سال پیش
چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...
- 3 سال پیش
در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...
- 3 سال پیش
حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشتههای ورودی را بررسی کردیم. فکر...
- 1 سال پیش
سلام.دوستان عزیز برنامه نویس من دنبال کسی میگردم که برام برنامه ی میکرو تردمیل بنویسه.چون کارم تردمیل هس وباهاش اگه به تفاهم برسم قراردادباهاش میبندم و باهم کارمیکنیم. اگه کسی هس لطفا با این شماره تو واتساپ بهم پیام بده ممنون میشم.09137450854.
سلام.آقا شما جایتون توبهشت هس به نظرمن چون با این کار زیبا که دارید به مردم رایگان آموزش میدین واگه بدونین این کارشما چقد خوبه هیچوقت متوقفش نمیکنید.به نظرمن آدم با نمازو دعا این دری وری ها بهشت نمیره وگرنه تمام مردم دنیا بایدبرن جهنم فقط مابریم بهشت چون نمازمیخونیم آدم چقدجاهل باشه.براتون آرزوی سلامتی دارم.فقط خواهشن درمورد تردمیل برنامه کامل بزارید.مرسی
متشکرم دوست عزیز
نظر لطف شماست، ما سعیمون رو میکنم که این مسیر رو ادامه بدیم ولی ادامه راه نیاز به همراهی و کمک دوستان داریم
بزرگترین کمکی که میتویتد به ما بکنید اینه که ما رو به دوستان خودتون معرفی کنید 🙂
سلام و وقت بخیر
ممنون میشم یه توضیحی در خصوص تفاوت وقفه و رویداد بدهید
سلام دوست عزیز
فکر نمیکنم تفاوت خاصی داشته باشن و هر دو یک مفهموم رو می رسونن 🙂
با سلام من با روش رجیستری اولویت وقفه هارو تنظیم میکنم ولی انگار که انگار! جواب نمیده
مثلا در کد زیر من میخوام وقتی وارد وقفه اول شده که توش while(1); نوشتم چراغ بتونه چشمک بزنه چرا که میخوام وقفه تو در تو بتونه اتفاق بیفته
ولی جواب نمیده و هنگ می کنه
#include
#include
int main( void )
{
CLK_CKDIVR_HSIDIV=1;
PA_DDR_DDR3=1;
PA_CR1_C13=1;
TIM2_CR1_CEN=0;
TIM2_IER_UIE=1;
TIM2_CNTRH=0;
TIM2_CNTRL=0;
TIM2_PSCR=6;
TIM2_ARRH=0xff;
TIM2_ARRL=0xff;
TIM2_CR1_CEN=1;
PD_DDR_DDR4=0;
PD_CR2_C24=1;
EXTI_CR1_PDIS=1;
__enable_interrupt();
while(1);
}
#pragma vector=TIM2_OVR_UIF_vector
__interrupt void timer2_isr(void){
PA_ODR_ODR3^=1;
TIM2_SR1_UIF=0;
}
#pragma vector=EXTI3_vector
__interrupt void exti0_isr(void){
while(1);
}
باسلام و عرض وقت بخیر و تشکر
سوالی از محضرتون داشتم اونم اینکه من بعد از BUILD کردن برنامه به یه اروری میخورم که میگه symbol f_NonHandledInterrupt multiply defined (Debug\stm8s_it.o) به این معنی که یک تابع با اسم مذکور رو چندبار تعریف کردم ولی خب درست بم گرا نمیده که بدونم دقیقا کجا اضافه تعریف شده
ممنون میشم اکر راهنماییم کنین
سلام دوست عزیز
خوب دقیقا برداشتتون درسته به سادگی جستجوی تابع توی کد میتونید ببینید این تابع کجاها تعریف شده
سلام
فکر کنم وقفه اشتباه نوشته شده در “main.c” و “stm8s_it.c”
سلام
خیلی ممنون از مطالب خوبتون
فقط یک نکته هست…
فایل سورس و هدری به نام stm8s_it.c و stm8s_it.h که در پوشه های SPL وجود نداره!!!
بجاش stm8s_itc.c و stm8s_itc.h هست که اونا هم فرق دارن با مثال 🙁
سلام وقت بخیر
برای دو تا کلید که به دوتا از پین های پورت A و B میکرو Stm8s وصل کردم اینتراپت تعریف کردم. تنظیمات مربوط به رجیستری GPIO و EXTI رو به طور کامل نوشتم . برنامه اینتراپت هم یک Blink ساده است.
با زدن دکمه ها اینتراپ ها کار میکنه و ال ای دی ها روشن و خاموش میشن ولی به محض اتمام برنامه اینتراپت ، میکرو ریست میکنه!منظور اینکه اینتراپت اجرا میشه ولی میکرو ریست میکنه. ممنون میشم راهنمایی کنید.
این مساله میتونه به دلیل کم بودن استک اینتراپت باشه و این که بعد از تمام شدن اینتراپت cpu نتونه مسیر برگشت به برنامه اصلی رو پیدا کنه
خب یعنی چه کار باید کرد؟
کاری که باید انجام بدید اینه که میزان استک رو زیاد کنید
و البته چیز دیگه ای که در این مواقع کمک میکنه به پیدا کردن مشکل اینه که سورس ریست رو چک کنید و ببینید به چه دلیلی ریست اتفاق افتاده
سلام منم دقیقا همین مشکل رو دارم اگر مشکلتونو حل کردین به منم بگین چجوری حل شد؟
سلام این کتابخانه stm8s_it. را از کجا اوردید و کارش چیه توی spl نبود برنامه بدون اینها کامپایل میشه بدون خطا ولی وقفه جواب نداد
اینو خودتون ایجاد میکیند
فکر میکنیم سمپلش رو بتونید توی مثال های خود کتابخانه پیدا کنید.
کارش هم اینه که روال وقفه رو توش تعریف میکنید – وجودش الذامی نیست و میتونید روال های مروبط به وقفه رو توی فایل مین هم تعریف کنید.
سلام وقت بخیر
بنده تمام موارد رو اجرا کردم و یک کد کوچیک با led و اینتراپت نوشتم که وقتی اینتراپت میخوره ال ای دی روشن بشه و داخل وایل اگر فلگ داخل اینتراپت یک شده بود ، کمی صبر کنه و خاموش کنه. اما مشکل اینجاست که به محض اینتراپت خوردن ، ال ای دی سریع روشن میشه (اینتراپت اجرا میشه) و میکرو ریست میکنه!! (ابتدای کد یک تعدادی چشمک زن گذاشتم و مطمئن هستم میکرو ریست میشه.) لازم به ذکره که تایمر ،adc و gpio عادی رو راه انداختم بدون مشکل اما اینتراپت خیلی اذیت میکنه. (البته در این کد خبری از تایمر و adc نیست)
سلام دوست عزیز
با توجه به صحبت اتون تفکری که پشت کدنویسی شما بوده به نظر درست میاد و احتمالا قسمتی از کد به خوبی نوشته نشده.
لطف کنین کدتون را بذارید تا بیشتر بتونم کمکتون کنم.
سلام منم به همین مشکل برخورد کردم. چطوری میشه رفعش کرد؟
آیا واچ داگ فعال نیست ؟ یکی از احتمال های اینه که واچ داگ فعال باشه
برنامه نویسی اصولی میگه شما نباید برنامه تان رو در وقفه متوقف کنید یکی از دلایل میتونه این باشه
دلیل دوم میتونه پر شدن استک باشه (استک مروبط به اینتراپت) دلیل دیگه میتونه پاک نکردن فلگ اینتراپت باشه
با سلام
با ارور : ?ASlink-Warning-Undefined Global ‘_EXTI_SetTLISensitivity’ referenced by module ‘main’
make: *** [makefile:56: main] Error 1
“make all” terminated with exit code 2. Build might be incomplete.
مواجه میشوم
22:07:32 **** Incremental Build of configuration Default for project STM8 ****
make all
sdcc -c -IStdPeriphLib/inc -DUSE_STDPERIPH_DRIVER -mstm8 -Ddouble=float –std-c99 –nolospre –opt-code-size –out-fmt-ihx –debug -obin/StdPeriphLib/src/ StdPeriphLib/src/stm8s_clk.c
sdcc -c -IStdPeriphLib/inc -DUSE_STDPERIPH_DRIVER -mstm8 -Ddouble=float –std-c99 –nolospre –opt-code-size –out-fmt-ihx –debug -obin/StdPeriphLib/src/ StdPeriphLib/src/stm8s_gpio.c
sdcc -IStdPeriphLib/inc -DUSE_STDPERIPH_DRIVER -mstm8 -Ddouble=float –std-c99 –nolospre –opt-code-size –out-fmt-ihx –debug main.c -o bin/ bin/StdPeriphLib/src/stm8s_gpio.rel bin/StdPeriphLib/src/stm8s_clk.rel
?ASlink-Warning-Undefined Global ‘_ITC_DeInit’ referenced by module ‘main’
?ASlink-Warning-Undefined Global ‘_EXTI_SetExtIntSensitivity’ referenced by module ‘main’
?ASlink-Warning-Undefined Global ‘_EXTI_DeInit’ referenced by module ‘main’
?ASlink-Warning-Undefined Global ‘_ITC_SetSoftwarePriority’ referenced by module ‘main’
?ASlink-Warning-Undefined Global ‘_EXTI_SetTLISensitivity’ referenced by module ‘main’
make: *** [makefile:56: main] Error 1
“make all” terminated with exit code 2. Build might be incomplete.
22:07:33 Build Failed. 1 errors, 0 warnings. (took 1s.535ms)
سلام دوست عزیز
خطاهایی که مواجه شدید به این معنی است که از توابعی استفاده کردید که توی فایل های پروژه تعریفی برای اون وجود نداره ؛ الان داره میگه که مثلا ‘_ITC_DeInit’ تایعی رو که توی مین برنامه مورد استفاده قرار دادید ؛ هیچ کجا دیفاین نشده و هیچ تعریفی براش پیدا نمیکنه
خیلی ببخشید مطالب سایتتون مفت نمی ارزه.همش یا کپی پیسته یا ترجمه
بعضی مطالبی که میذارین اصلا تست شده هم نسیتن ناقص کپی شدن فقط باعث سردرگمی ادم میشن
با تشکر
ممنون از نظر شما
این اولین نظر به این تندی در حدود یکسال کاری سیسوگ هست 🙂
و به جرات میتونم بگم شاید دو مطلب در کل سایت داریم که قسمتهایی از اون کپی شدند که دقیقا هم اشاره شده
خیلی از محتواهای ایجاده شده هم عملی تست شده اند و اکثر آموزش میکروکنترلر STM8 دقیقا تست شده که میتونید حتی نمونه بردهای تست شده را هم در زیر برخی از پست ها ببنید
بسیاری از مطالب وب سایت هیچ نمونه حتی خارجی ندارند و خیلی از اونها هم دقیقا ایجاد شده اند
اگر قسمتی اش به نظرتون دچار اشکال هست و اگر نظری دارید در مورد قسمتی اش که میتونه بهتر کنه اموزش را ممنون میشم بگید تا ما سعی کنیم تصحیح کنیم
این آموزشتون واقعا ترجمه ناقص و ایراد داری هستش، لطفا اصلاحش کنید
منبع اصلی تصاویر و آموزش هم لینک زیر هستش
http://embedded-lab.com/blog/starting-stm8-microcontrollers/10/
همین لینک که به عنوان منبع ذکر شده 😐 انتهای مطلب رو اگر ببینید
بررسی میکنیم
ممنون برای پیگیری موضوع
عذرخواهی میکنم بابت لحن تندم
منبع رو ندیده بودم
متشکرم
خواهش میکنم 😐