افا کسی نفهمید مشکل از چی هست ؟؟
dtm32f_type
ارور میگیره
من دوبازه ورژن 4.21 رو نصب کردم ولی دیگه با اون هم کامپایل نمیشه
لطفا یکی راهنمایی کنه چطور من برگردونمش به همون ورژن 4.21 ؟؟؟ من پشیمون شدم
سطحي و كار راه انداز
دقيق و حرفه اي
افا کسی نفهمید مشکل از چی هست ؟؟
dtm32f_type
ارور میگیره
من دوبازه ورژن 4.21 رو نصب کردم ولی دیگه با اون هم کامپایل نمیشه
لطفا یکی راهنمایی کنه چطور من برگردونمش به همون ورژن 4.21 ؟؟؟ من پشیمون شدم
بر اساس مشاهدات انجام شده نياز به برنامه نويس آرم با ميكرو كنترلر st رو به افزايش هست و اين به خاطر قيمت كم و سرعت و امكانات اين ميكرو هست
دوستان كار گروهي ارزشمند هست تكروي نكنيم
سلام داداشاي گلم
الان چند روزي هست دارم رو spi كار ميكنم.
البته در نظر دارم كه با يه مثال ارائه بدم. هدفم راه اندازي حافظه فلش at45db161d هستش.
فعلا دارم روش كار ميكنم.
در مورد حافظه هم اين توضيح رو بدم كه يه حافظه فلش با ظرفيت 2 مگابايت هستش. البته با avr راه اندازيش كردم. تا سرعت 66 مگاهرتز هم كار ميكنه. ولتاژ كاري اون هم 3.3 ولت هستش.
_____________________________________
_____________________________________
سلام حاج صادق .. خداقوت
كار خيلي خوبي ميكني .. كاش نتايج كارهاتو هر روز در يك پست ميزاشتي .. اينطوري ما هم پابه پاي شما جلو مياييم و ياد ميگيريم
چون وقتي پروژه آماده شد همشو يكدفعه يادگرفتن شايد براي مبتديهاي مثل من سخت باشه
خدا خيرت بده
سلام دوستان ...
دوستانی که با ST کار کردند به نظرشون برتریی نسبت به سری nxp داره یا نه ؟؟؟
( از هر لحاظ : قدرت سرعت کارایی و قابلیت قیمت و ....)
هر دو پابه پاي هم در حال حركت هستند .. شما اگر خيلي دقيق بخواهي بدوني بايد مدل هاي مد نظر از هر كدوم رو مقايسه كني وگرنه در كل بسيار شبيه هستند
حاجي .. مخلصيم .. بازم مرحله مرحله بزاري با همه خطاهايي كه داري ميكني .. بهتره
سلام دوستان ...
اینم از عکس برد من ....
تقریبا تمام بخشهاشو تست کردم . همه OK هست . یسری اصلاحات کوچک داره که انجام دادم شماتیک و pcb رو میزارم رو سایت .
ضمنا دوستانی که از اول باهم این تاپیک رو شروع کردیم در جریان هستن ، این برد برد کپی شده از برد olimex نیست ، بلکه چینش قطعاتش مثل اونه . کل شماتیک از ابتدا کشیده شده با امکانات دلخواه و اتصال به پین های مورد نظر میکرو ... ولی برای طراحی صحیح از 5-6 نقشه برد مختلف منبع گرفته شده . خب دوستان نظرشون رو بگن ... امکانات رو برد که کاملا تو عکس مشخصه غیر یه مورد !
دمت گرم بابت عکس
خیلی خوب شده
کی اموزش رو شروع میکنی مهندس؟
*** اللّهم عجّل لولیک الفرج ***
قربانت .. چه عجب یکی اومد ...! اینجا اینقدر خلوته که ...دمت گرم بابت عکس
خیلی خوب شده
کی اموزش رو شروع میکنی مهندس؟
والا این بردا ساخته نشده بود همه هی میومدن بازدید می کردن و نظر می دادن ! فکر کنم سوء تفاهم شده !!!
دوستان ساختن برد پروژه نیست !!! کار کردن و راه انداختن برد پروژه هست !
من یه چند تا مثال تا حالا باهاش تست کردم و همچنین lcd کارکتری و گرافیکی . یکی دو تا مثال usb رو تست کردم که رو برد عالی جواب داد و همچنین eeprom روی برد و adc و یکم usart . یکی دو نفر بیان شروع می کنیم . یعنی با هم پیش میریم .. مثال میزاریم با دستورات cmsis . بعد هر کی خواست بره دنبال رجیسترها بیاد مشکلاتش رو بگه . من الان دارم رو مموری کارت کار می کنم . این مساله خیلی برام مهمه ولی متاسفانه مثال ها زیاد جواب نمیده .
شما نتیجه بحثتون در مورد برد جدید به کجا رسید ؟
خوب معلومه مهندس شما ترکوندیمن یه چند تا مثال تا حالا باهاش تست کردم و همچنین lcd کارکتری و گرافیکی . یکی دو تا مثال usb رو تست کردم که رو برد عالی جواب داد و همچنین eeprom روی برد و adc و یکم usart . یکی دو نفر بیان شروع می کنیم . یعنی با هم پیش میریم .. مثال میزاریم با دستورات cmsis . بعد هر کی خواست بره دنبال رجیسترها بیاد مشکلاتش رو بگه . من الان دارم رو مموری کارت کار می کنم . این مساله خیلی برام مهمه ولی متاسفانه مثال ها زیاد جواب نمیده .
بورد جدید هم کارش تقریبا تمومه فقط امیدوارم همه اونایی که بورد رو میخان برای یادگیری باشه نه برای قشنگیه دکور اتاقشونشما نتیجه بحثتون در مورد برد جدید به کجا رسید ؟
*** اللّهم عجّل لولیک الفرج ***
سلاممهندس خوشبختانه از امروز صبح که رو مموری کارت دارم کار میکنم داره جواب میده
خسته نباشی
منم امروز یه micro sd ردیف کردم،ببینم میشه اینارو هم با یه تبدیل وصل کرد دیگه
این رم دو گیگه
من از یکی از دوستانم شنیده بودم بیشتر از دو گیگ رو این میکرو ها جواب نمیدن
یعنی اگه چهار گیگ بندازی میکرو فقط از دو گیگش استفاده میکنه درسته!!!؟؟؟
الانم میخام السیدی کاراکتری رو به صورت رجیستری راه بندازم.
*** اللّهم عجّل لولیک الفرج ***
سلام دوستان
الان 3/4 روزه كه بيشتر وقتمو گذاشتم روي توابع كتابخونه CMSIS.
دو تا نكته رو متوجه شدم كه شايد خيلي مهم باشن.
1- براي برنامه نويسي اين ميكرو(STM32F106RBT6) تو Keil ما ميتونيم از دو سري هر استفاده كنيم
يه سري اين دو تا فايل هدر اصلي هستش:
[PHP]#include <stm32f10x_lib.h>
#include "STM32_Init.h" [/PHP]يا اين فايل هدر كه مربوط فايلهاي هدر خود نرم افزار Keil هستش:
[PHP]
#include <stm32f10x.h> [/PHP]2- براي تعريف ميكروتون به پروژه يه راهش اينه كه بريد تو فايل stm32f10x.h و ميكروي مورد نظرتون رو آنكامنت كنيد. راه دومش هم تو عكس نشون دادم. در واقع نوع ميكروتون رو تو اونجا تعريف كنيد.
ميخوام براتون تو پست بعدي در مورد نحوه راه اندازي كلاك و قسمت هاي مربوط به اون توضيح بدم. در واقع راه اندازي كلاك مهمترين قسمت ميكرو هستش. بدون راه اندازي اين بخش هيچكدوم از بخش هاي ديگه ميكرو قادر به فعاليت نيستن. البته دوستمون آقا پوريا يه برنامه براي راه اندازي اين بخش گذاشتن.
آقا سعيد هم در موردش توضيح دادن.
كه از هر دو دوستمون تشكر ميكنم .
ویرایش توسط sadmonew : 07-04-2012 در ساعت 20:27
_____________________________________
_____________________________________
خوب ادامه ميديم:
من از حالت دوم براي فايل هدر استفاده ميكنم. در اين حالت چون فايل هدر STM32_Init.h رو به كار نميگيريم. پس بايد خودمون قسمت كلاك رو راه اندازي كنيم.
براي راه اندازي از چند تا تابع كه تو فايل stm32f10x_rcc.h تعريف شدن استفاده ميكنيم:
اين فايل ها شامل:
[PHP]void RCC_DeInit(void);
void RCC_HSEConfig(uint32_t RCC_HSE);
ErrorStatus RCC_WaitForHSEStartUp(void);
void RCC_AdjustHSICalibrationValue(uint8_t HSICalibrationValue);
void RCC_HSICmd(FunctionalState NewState);
void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul);
void RCC_PLLCmd(FunctionalState NewState);[/PHP]
البته من تعدادي از اين فايل ها رو اينجا نشون دادم. خودتون ميتونيد محتويات اين فايل رو نگاه كنيد.
البته قبلا دوستان تابع مربوط به راه اندازي اين بخش رو تو پست هاي قبلي آوردن.
ما از درخت كلاك"Clock tree" كه تو صفحه 12 ديتاشيت اين ميكرو اومده، استفاده ميكنيم.
_____________________________________
_____________________________________
بله مهندس شدنش که حتما میشه .. این حرف که بیشتراز 2 گیگ رو نمیشه خوند فکر نکنم صحت داشته باشه !! مگه خوندن اونا چه امکاناتی می خواد که میکرو نداره ؟؟!!!سلام
خسته نباشی
منم امروز یه micro sd ردیف کردم،ببینم میشه اینارو هم با یه تبدیل وصل کرد دیگه
این رم دو گیگه
من از یکی از دوستانم شنیده بودم بیشتر از دو گیگ رو این میکرو ها جواب نمیدن
یعنی اگه چهار گیگ بندازی میکرو فقط از دو گیگش استفاده میکنه درسته!!!؟؟؟
الانم میخام السیدی کاراکتری رو به صورت رجیستری راه بندازم.
مموری sd از 2 گیگ بالاتر میشه SDHC که اگه کتابخونه ساپورتش کنه مشکل نداره ، اونم میخونه . تو راه اندازیش یسری نکات ریز وجود داره که با مموریهای معمولی فرق میکنه ... کتابخونه ای که من دارم روش کار میکنم برای MMC , SDC , SDHC هست و FAT12 , FAT16 , FAT32 رو ساپورت میکنه . همه دستوراش کار میکنه بجز وقتی که می خوام محتوای یه فایل رو از مموری بخونم !!! اگه دستورشو بنویسم ، بقیه قسمت ها هم از کار میوفته !!! امیدوارم که حل بشه .. شما هم دنبالش باش ، چیز مهمیه ..
درسته ، صادق جان ، درست متوجه شدی ...دو تا نكته رو متوجه شدم كه شايد خيلي مهم باشن.
روش اول برای کتابخانه های قدیمی cmsis بود که دیگه استفاده نمیشه . فایل lib تمامی درایور ها رو از مسیر نصب کیل فراخوانی میکنه و فایل init هم همون طور که قبلا گفته بودم یه ویزارد هست که البته تو cmsis مشکل ساز میشه چون cmsis تمام تنظیماتش تو structure ذخیره میشه ... بیشتر برای مواقعی هست که رجیستری برنامه مینویسیم .
روش دوم برای کتابخانه های جدید استفاده میشه . اگه درایور ها رو همراه برنامه یجا دارید از این روش استفاده کنید تا فایل lib درایور ها رو از مسیر پیش فرض نخونه ! ضمنا در صورت استفاده از این فایل کتابخانه type دیگه لازم نیست ، یعنی خودش حذف میشه...
نحوه بکار گیری توابع rcc هم بسیار آسونه و معمولا ثابته . فراموش نکنید تو نت مثالهای بسیاری برای cmsis وجود داره که سعی کنید cmsis رو با مثال حتما یاد بگیرید ...
قبل از اينكه ادامه بدم لازمه يه چيزهايي رو حتما بگم. يه چيزي كه وقتمو تو روزهاي اول زياد گرفت(شايد تعجب كنيد) اين بود، كه چه فايل هايي رو به كتابخونه اضافه كنم و تازه بعد از اضافه كردن اون فايل ها ارور هارو چطور برطرف كنم.
1- براي شروع اول از همه بايد اين فايل زيپ شده كه حجمش 21.1 مگابايت هستش رو دانلود كنيد.
http://www.st.com/internet/com/SOFTW...periph_lib.zip
حتما دانلود كنيد. بسيار حياتيه؟!؟!؟!!!
2- بعد رفتم يه پروژه جديد تو Keil ساختم و تمام فايل هاي با پسوند c.* رو كه مسير اونها رو در زير ميبينيد به پروژه اضافه كردم(تو عكس نشون دادم.)
...\stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Li b_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src
...\stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Li b_V3.5.0\Libraries\CMSIS\CM3\CoreSupport
...\stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Li b_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM3 2F10x
ویرایش توسط sadmonew : 07-04-2012 در ساعت 21:58
با توجه به صحبت دوستمون كه درست هم ميگن كار با اين توابع آسونه و چون در همون مرحله اول روشن شدن ميكرو اجرا ميشن و تا زماني كه ميكرو خاموش نشده به كارشون ادامه ميدن. در واقع عملكردشون ثابته و در حين اجراي برنامه هاي ميكرو تغيير نميكنن. پس بحث بعدي كه در مورد كار با GPIO و توابع مربوط به اون هستش رو شروع ميكنم.
اين ميكرو شامل سه پورت A,B و C هستش. يكي از نكات جالب توجه در مورد بيت هاي اين ميكرو اين هستش كه شما ميتنونيد براي هر پين يه وظيفه خاص تعريف كنيد.
اين وظايف شامل تعريف جداگانه براي هر پين(مثلا پين شماره 9 پورت A كه همون PA.9 ميشه) به عنوان ورودي يا خروجي معمولي.
يا فعال كردن وظيفه ديگر(خاص) اين پين( فعال كردن USART1 و تعريف پين شماره 9 پورت A به عنوان خروجي داده يا همون Tx).
من به طور مثال يه بار اين پين رو به صورت معمولي و يه بار به صورت خاص تعريف ميكنم.
تو فايل هاي كتابخونه، فايلي به اسم stm32f10x_gpio.c وجود داره كه توابع مربوط به تنظيم پورت ها تو اون تعريف شدن.
اسم اين تابع اين هستش.
[PHP]void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)[/PHP]
براي استفاده از اون ابتدا بايد پورتمون رو براش تعريف كنيد. كه در اينجا چون پورت A رو انتخاب كرديم پس براي پارامتر اول اين تابع، GPIOA رو انتخاب ميكنيم. پس فعلا اينو مينويسيم:
[PHP]GPIO_Init(GPIOA,........);[/PHP]ادامه در پست بعدي
چون پارامتر دوم از نوع ساختاري هستش پس دوباره به فايل stm32f10x_gpio.c رجوع ميكنيم. در قسمت توضيحات تابع اومده كه: اين قسمت به ساختار GPIO_InitTypeDef اشاره ميكنه و شامل اطلاعات مربوط به راه اندازي پورت مورد نظر است.
در مورد چگونگي تعريف شدن ساختار GPIO_InitTypeDef ميتونيد ان رو در فايل stm32f10x_gpio.h پيدا كنيد كه من در زير آوردم.
[PHP]typedef struct
{
uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured.
This parameter can be any value of @ref GPIO_pins_define */
GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins.
This parameter can be a value of @ref GPIOSpeed_TypeDef */
GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the selected pins.
This parameter can be a value of @ref GPIOMode_TypeDef */
}GPIO_InitTypeDef;[/PHP]
ابته ببخشيد كه اينقدر داره زياد ميشه!
ویرایش توسط sadmonew : 07-04-2012 در ساعت 22:27
_____________________________________
_____________________________________
دوستان کسی جواب نمیده به من ؟؟
برنامه هایی رو که با کیل ورژن قبل نوشتیم چطور روی ورژن جدید کامپایلش کنیم که ارور نئه