درود مهندس
اقا ما هر کاری کردیم نشد که نشد منم میخوام دستورات cmsis را بخونم و پیش برم حالا فک کنم باید همین اول کاری در جا بزنم در ساخت پروژه جدید برای cmsis نمی دونم چشه طبق راهنمایی ها شما پیش رفتم حالا عکسی میگذارم لطفا یه نیگاه بهش بندازید .
در عکس شماره 1 دقیق باید چیا نوشته بشه من نوشته ها را از پروژه قبلی کپ زدم لطفا بیشتر در مورد این قسمت توضیح بدهید (از صفر)
شماره 2 این قسمت هم دست بوس توضیح شماست
شماره 3 درایور های c. که inc کردم به پروژه هدرهای h. را مسیرشون را تعریف کردم
شماره 4 خطای فعلی من
سلام
مهندس همه چی درسته فقط فایل conf رو پیدا نمی کنه . بگرد پیداش کن و پهلوی main بزارش ...
بعد دیگه خودت میدونی .. تو این فایل باید مشخص کنی با چه واحد هایی میخوای کار کنی ..
در مورد توضیحات :
1- تعریفهای global پروژه . معمولا برای خود درایور ها فقط استفاده میکنند . مثلا اولی مشخش میکنه شما برد EVAL مربوط به 4xG رو انتخاب کردید و فایلهای اون فعال میشه . دومی بنا بر گفته درایور میکرو که برای چند میکرو از همین سری نوشته شده مشخص میکنه که شما از سری 4XX دارین استفاده میکنید . و سوم هم برای استفاده از توابع CMSIS باید نوشته بشه تا دستورات قابل استفاده بشند ..
2- یسری تنظیمات هستن که بهتره بجز مورد اول بهش دست نزنید . اولین موردش هم مقدار بهینه سازی هست که معمولا رو 3 ( آخرین حد ) تنظیم شده ..
3- این بخش مهمه چون تمام مسیر ها رو باید براش معرفی کنید . مثلا اگه فایلی رو include میکنید مسیرش باید این تو add بشه .
4- این رو هم که گفتم .. فایل stm32f4xx_conf.h رو در مسیر های تعریف شده براش پیدا نمیکنه . شما باید این فایل رو پیدا کنید و تو یه مسیر مشخص مثل همون جایی که فایل main هست قرار بدید ...
حالا ببینید چی کار میتونید بکنید . البته این template خیلی چیزای اضافی داره مثل همین درایور ها و فایل های EVAL که برای کسایی که می خوان از پایه یاد بگیرند زیاد مناسب نیست . مثلا یسری توابع داره مخصوص همین برد دیسکاوری که با یه دستور میشه led روی برد رو روشن کرد یا .. ولی همه ترجیح میدن خودشون اون پین رو کانفیگ کنند و براش برنامه بنویسند ...
سر فرصت سعی میکنم یه templete براش درت کنم ..
یا حق
سلام مهندس همین کارا را کردم بعضی از مشکلات حل شد فقط مونده همین خطا
فایل stm32f4XX.o را که میگذارم این خطا رو میده عکس شماره 1
و وقتی بر میدارم خطای عکس شماره 2
مهندس سعید ما را در یاب
اینم یه template برای سری f4 میکروهای ST ...
فقط من که بردش رو ندارم و سیمولاتور کیل هم هنوز امکاناتی برای این میکرو نگذاشته ... البته کیل من 4.23 هست . فقط اینو یه تست کنید و نتیجه رو به من بگید . برای تست پین C6 باید چشمک بزنه ...
تمامی فایل ها و کتابخانه های اضافی مربوط به EVAL حذف شده تا جهت آموزش بصورت پایه ای کار بشه ...
یا حق
Template_F4.rar - 4shared.com - online file sharing and storage - download
لطف کردی سعید جان ممنون
حتما تا فردا ظهر خبرتون میکنم
سلام
من برای تست روی برد تغییرش دادم که pD12 چشمک بزنه:
[PHP] while (1)
{
GPIO_SetBits( GPIOD, GPIO_Pin_12 ); // Pin D12 High
for(d=0;d<=1000000;d++);
GPIO_ResetBits( GPIOD, GPIO_Pin_12 ); // Pin D12 Low
for(d=0;d<=1000000;d++);
}
}
//************************************************** ***********************
void gpio_cfg()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOD, &GPIO_InitStructure);
}[/PHP]
فقط یه چیزی وقتی همه کتابخونه ها باشه در کامپایل همه را بررسی می کنه این باعث طول کشیدن کامپایل میشه:
کد:Rebuild target 'STM324xG' assembling startup_stm32f4xx.s... compiling system_stm32f4xx.c... compiling stm32f4xx_it.c... compiling main.c... compiling misc.c... compiling stm32f4xx_adc.c... compiling stm32f4xx_can.c... compiling stm32f4xx_crc.c... compiling stm32f4xx_cryp.c... compiling stm32f4xx_cryp_aes.c... compiling stm32f4xx_cryp_des.c... compiling stm32f4xx_cryp_tdes.c... compiling stm32f4xx_dac.c... compiling stm32f4xx_dbgmcu.c... compiling stm32f4xx_dcmi.c... compiling stm32f4xx_dma.c... compiling stm32f4xx_exti.c... compiling stm32f4xx_flash.c... compiling stm32f4xx_fsmc.c... compiling stm32f4xx_gpio.c... compiling stm32f4xx_hash.c... compiling stm32f4xx_hash_md5.c... compiling stm32f4xx_hash_sha1.c... compiling stm32f4xx_i2c.c... compiling stm32f4xx_iwdg.c... compiling stm32f4xx_pwr.c... compiling stm32f4xx_rcc.c... compiling stm32f4xx_rng.c... compiling stm32f4xx_rtc.c... compiling stm32f4xx_sdio.c... compiling stm32f4xx_spi.c... compiling stm32f4xx_syscfg.c... compiling stm32f4xx_tim.c... compiling stm32f4xx_usart.c... compiling stm32f4xx_wwdg.c... linking... Program Size: Code=656 RO-data=408 RW-data=0 ZI-data=1024 FromELF: creating hex file... "prj.axf" - 0 Error(s), 0 Warning(s).
اتفاقا منم تغییرش دام pd12 تا pd 15 من مشکلم در درست کردن یه پروژه با CMSIS بود امیدوارم بتونم با این نمونه برنامه مشکلم حل بشه
امیدوارم دوستان دیگه هم که برد را دارند توی تاپیک مشارکت کنند تا این برد را با هم پیش ببریم و تمامی قسمتهاشو به کار بندازیم واقعا حیفه این تاپیک این قدر سوت کور باشه .
راستی دوستا برای راه اندازی ال سی کاراکتری باید چیکار کرد کسی نمونه برنامه ای داره
ویرایش توسط Ma3ood : 26-07-2012 در ساعت 01:41
سلام
این پروژه رو تازه ساختم (با یکم تقلب)
ولی چرا این ارور رو میده ؟؟؟!!!
پروژه رو هم ضمیمه کردمکد:Build target 'Target 1' compiling main.c... ..\source\main.c(10): error: #268: declaration may not appear after executable statement in block Target not created
*** اللّهم عجّل لولیک الفرج ***
اینم فیلم 3 ثانیه ای از تست template
مشکل اینه که GPIO_InitTypeDef GPIO_InitStructure رو بد جایی تعریف کردین،باید اول تابع تعریف بکنین.
کد بالا رو جایگزین کنین درست میشه.کد:int main (void) { int i; GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOD, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOA, &GPIO_InitStructure); while(1) { GPIO_SetBits(GPIOA,GPIO_Pin_9); for(i=0;i<1000000;i++); GPIO_ResetBits(GPIOA,GPIO_Pin_9); for(i=0;i<1000000;i++); } }
ویرایش توسط alisaeed : 26-07-2012 در ساعت 13:17
درست شد ممنون
دو تا سوال : یعنی هر دستوری رو باید توی جای خاصی تعریف کرد ؟!!!
حالا جاشو از کجا پیدا کنیم ؟؟؟
*** اللّهم عجّل لولیک الفرج ***
ممنون آقا سعید
حالا یه سوال دیگه :
چرا برای من همیشه بعد از پروگرم کردن این پیغام ظاهر میشه ؟!!!
تنظیماتم هم طبق گفته های قبلی شماست ...
*** اللّهم عجّل لولیک الفرج ***