مهندس swd چرا ؟ با پورت JTAG پروگرام کن دیگه .. jlink داری ؟
سطحي و كار راه انداز
دقيق و حرفه اي
نه مهندس j-link خرابه با برد دیسکاوری میخام از طریق swd پروگرم کنم
ممنون مهندس الان خودم با swd راه اندازیش کردم
دوستان لطفا کد هگز که led رو خاموش روشن کنه بدید
من پروژه blink میزنم به طور کامل پروگرم میشه ولی led هام خاموش روشن نمیشه !!!
فایل هگز چشمک زن
راستی میکروت چیه ؟
stm32f103ret6
stm32f103rbt6
دوتاشم برات آپلود میکنم
*** اللّهم عجّل لولیک الفرج ***
ممنون مهندس ولی اینم جواب نمیده
من به جای کریستال 8 مگ 12 مگابایت گذاشتم
میتونه از این باشه ؟
به طور کامل پروگرم میشه و تایید هم میکنه
سلام مهندس
مشكل دقيقا همينجاست.
حالا چرا با جابجا وصل كردن اين كريستال اين مشكل پيش مياد؟
خوب ميدونيم كه براي تنظيم فركانس هسته ميكرو بايد از سري دستورات كه اسمشون RCC هستش بايد استفاده كنيم يكي از اين دستورات اينه:
کد:RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);تو اين دستور يه پارامتر مهم وجود داره كه در واقع يه ضريب هستش.
اين ضريب در مقدار كريستالي كه به ميكرو وصل كرديم ضرب ميشه و فركانسي كه توليد ميكنه همون فركانس هستس.
مثلا اگه كريستال 8 مگاهرتز به ميكرو وصل كنيم و ضريب رو RCC_PLLMul_9) 9) انتخاب كنيم.
فركانس كه واحد PLL توليد ميكنه ميشه 72مگاهرتز(9*8).
حالا مهندس خودت حساب كن اگه كريستال 12 مگاهرتز بذاري، چي ميشه؟
خوب يه نكته مهمتر اينه كه چون كلاك بخش هاي ديگه ميكرو مثل ADC،USART، كلاك پورتها، USB ،تايمر،I2C وSPI بخش هاي ديگه ميكرو همه از اين تقسيم شده ابن كلاك استفاده ميكنند.
مثلا باس مربوط به پورتها(APB2) حداكثر ميتونه فركانس 48/72 مگاهرتز رو داشته باشه.
خوب اگه فركانس هسته ميكرو و باس داده درست تنظيم نشه يعني ميكرو نميتونه به صورت پايدار(Stable) كار كنه.
ویرایش توسط sadmonew : 30-07-2012 در ساعت 00:54
_____________________________________
_____________________________________
مهندس خیلی ممنون به خاطر توضیحات
این برد دیگه داره منو کلافه میکنه
قبل از اینکه بردو به روشی که شما گفتید پروگرم کنم وصل کردم دیدم یکی از led ها داره چشمک میزنه (یعنی دقیقا همون برنامه قبلی که مهندس do...loop دادن که بعد از پروگرم چشمک نمیزد)
الان با توجه به تغییراتی که شما گفتید تنظیم کردم هیچ کاری انجام نمیشه!!!
تنظیمات توی عکس درسته ؟
اگه بخوام تغییرات rcc رو به صورت دستی انجام بدم از کجا باید این کارو بکنم ؟
ویرایش توسط saeidhp : 30-07-2012 در ساعت 13:45
راستی من ترانزیستور 8085 پیدا نکردم میتونه مشکل از این باشه ؟
سلام مهندس
خودم از فايل STM32_Init.c استفاده نميكنم. البته ميدونم با اين روش دسترسي سريعتري به كل رجيسترهاي ميكرو داريم. خودم براي تنظيم كلاك هسته و باس قسمتهاي مختلف ميكرو از توابع RCC استفاده ميكنم.
مهندس طبق عكس تنظيمش كن.
_____________________________________
_____________________________________
سلام
مهندس بازم نشد البته اگه یادتون باشه کریستال من 12 مگاهرتز بود و تنظیمات pllscr*6 که 72/12=6 هست
و hse=12000000 گذاشتم که بازم نشد البته طبق تنظیمات شما هم نشد
سلام مهندس
بله من فكر كردم شايد كريستال رو به 8 مگاهرتز تغيير دادين و اون عكس رو براساس اون گذاشتم.
راستي مهندس از كريستالي كه روي برد لحيم كردين، مطمئنيد سالمه؟
فايل هگر رو واستون قرار ميدم شما لطفا روي بردتون تست كنيد و نتيجه رو بگيد و پروژه اي كه خودتون درست كردين رو بذاريد ما هم رو برد خودمون تست كنيم ببينيم مشكل چيه؟
البته پيشنهاد ميكنم كريستال رو به 8 مگاهرتز تغيير بدين، چون تو ديتاشيت نوشته كه اگه بخوايم ارتباط درستي از طريق usart داسته باشيم بايد كريستال 8 يا 25 مگاهرتز باشه.
ویرایش توسط sadmonew : 30-07-2012 در ساعت 19:12
_____________________________________
_____________________________________
سلام مهندس
آقا خیلی کارت درسته
کریستالو عوض کردم بالاخره راه افتاد البته همون 12 مگاهرتز
ولی بازهم با برنامه شما کار کرد
من برنامه رو پیوست کردم لطفا ببینید مشکل از کجاست؟ گرچه این برنامه رو هم خودم ننوشتم و از این به بعد سوالات من شروع میشه
سلام مهندس
آقا خیلی کارت درسته
کریستالو عوض کردم بالاخره راه افتاد البته همون 12 مگاهرتز
ولی بازهم با برنامه شما کار کرد
من برنامه رو پیوست کردم لطفا ببینید مشکل از کجاست؟ گرچه این برنامه رو هم خودم ننوشتم و از این به بعد سوالات من شروع میشه
مهندس مشكل اينجاست كه شما ميخوايد پينهاي پورت A رو به صورت toggle دربياري. درصورتي كه اين پورت اصلا به صورت خروجي تعريف نشده.
لطفا عكس رو ببينيد.
_____________________________________
_____________________________________
با سلام خدمت دوستان
دوستان چند تاپیک قبل راجع به FREE ROTS صحبت می کردید .
از انجا که با KEIL برنامه ها را مینویسید پس چرا با RTX برنامه ها را نمی نویسید ؟ مگه ایرادی داره ؟
و اگر با ADC آشنایی دارید یه توضیحاتی بدهید . مثلا تفاوت بین injected و regular ؟
من میخوام تاچ ال سی دی را راه بندازم چهار پایه اول پورت A را استفاده کردم ولی الان نمی دونم adc را چطور سویچ کنم .
از توضیحاتی که دوستمون در اول تاپیک دادن و بسیار شیوا و قابل فهم می باشد تشکر میکنم و امید دارم (داریم ) ادامه دهید .
با تشکر از دوستانی که ماها را هنوز تحریم نکردند .
ویرایش توسط saeyd : 31-07-2012 در ساعت 00:21
_____________________________________
_____________________________________
تا اونجايي كه من ميدونم و البته كمي هم با FREE-RTOS كار كردم، اين كرنل براي اغلب ميكرو ها مثل AVR ، LPC ، STM32 ، AT91 و خيلي ميكروهاي ديگه پورت شده. ميتونيد به اين لينك بريد و با اين ميكروها رو خودتون ببينيد:
FreeRTOS - the small footprint professional grade free RTOS ports and demo applications list sorted by microcontroller vendor and microcontroller family
در صورتي كه RTX به اين صورت نيست و محدوديت داره، البته ميتونيد FREE-RTOS رو تو محيط كيل هم به كار ببريد.
اما نكته اي كه هست اينه كه كرنل قدرتمندتر از اين هم هست به اسم uC/OS كه اوپن سورسه و كتاب بسيار عالي هم داره كه ترجمه هم شده و بسيار به شخص برنامه نويس كمك ميكنه. خودم كتابشو داره.
اينم لينك uC/OS:
http://micrium.com/page/home
_____________________________________
_____________________________________
سلام
دوستان من پروژه lcd 2*16 پروگرم کردم وپایه ها و طبق کد زیر وصل کردم اما توی lcd فقط یک ردیف پیکسل رو به صورت مربع پر میکنه
کسی تست کرده این پروژه رو ؟کد:// Define LCD-16x2 PinIO Interface Mask Bit #define LCD_EN_PIN GPIO_Pin_2 #define LCD_EN_PORT GPIOC #define RCC_APB2Periph_GPIO_EN RCC_APB2Periph_GPIOC #define LCD_RW_PIN GPIO_Pin_1 #define LCD_RW_PORT GPIOC #define RCC_APB2Periph_GPIO_RW RCC_APB2Periph_GPIOC #define LCD_RS_PIN GPIO_Pin_0 #define LCD_RS_PORT GPIOC #define RCC_APB2Periph_GPIO_RS RCC_APB2Periph_GPIOC #define LCD_D4_PIN GPIO_Pin_3 #define LCD_D5_PIN GPIO_Pin_4 #define LCD_D6_PIN GPIO_Pin_5 #define LCD_D7_PIN GPIO_Pin_6 #define LCD_DATA_PORT GPIOC #define RCC_APB2Periph_GPIO_DATA RCC_APB2Periph_GPIOC
سلام مهندس
فركانس هسته تنظيم نشده و كلاك پورتها هم ست نشده.
_____________________________________
_____________________________________