PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کریستال خارجی



titery
22-10-2013, 19:30
سلام دوستان
من دارم یک برد برای stm32f103rbt6 میزنم آیا میشه براش کریستال خارجی نگذاشت؟

morykeys
22-10-2013, 20:04
آره تو دیتاشیت در قسمت رجیسترهای rcc یه رجیستر است که منبع کلاکت رو مشخس میکنی که در این مورد باید بزاری hsi
موفق باشی

titery
22-10-2013, 20:54
یعنی اگر اینکار رو انجام بدم تمومه؟
در فایل SYSTEM_stm32f10x.c خطی که فرکانس 72 میگ رو دیفاین میکنه غیر فعال کنم



#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE HSE_VALUE */
#define SYSCLK_FREQ_24MHz 24000000
#else
/* #define SYSCLK_FREQ_HSE HSE_VALUE */
/* #define SYSCLK_FREQ_24MHz 24000000 */
/* #define SYSCLK_FREQ_36MHz 36000000 */
/* #define SYSCLK_FREQ_48MHz 48000000 */
/* #define SYSCLK_FREQ_56MHz 56000000 */
#define SYSCLK_FREQ_72MHz 72000000
#endif

که در چند خط بعدی



#ifdef SYSCLK_FREQ_HSE
uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_24MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_36MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_48MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_56MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_72MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */
#else /*!< HSI Selected as System Clock source */
uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */
#endif




SystemCoreClock = HSI_VALUE بشه.
دیگه کار دیگه ای لازم نیست؟:alc:
در این حالت فرکانس میکرو همان 72 میگ هست.
و کریستال دیگه حتما لازم نیست چون الان دارم pcb میزنم(یکم محدودیت در اندازه برد دارم که هر چه کوچکتر بهتر)

morykeys
22-10-2013, 22:17
من با رجیسترها کار کردم که توی رجیستر RCC_CR تو قسمت HSI cal چنتا بیت رو تغییر میدی که HSI رو تنظیم میکنی که مقدار پیشفرض 16M هست
واسه اطلاع سه منبع کلاک که باشن PLLوHSEوHSI وجود دارد.

Doloop
22-10-2013, 23:14
مگه یه کریستال چقدر توی اندازه بوردتون تغیر ایجاد میکنه (یه کریستال با دوتا خازن مخصوصااگه SMD باشه)
بنظر من که بزاری بهتره :wink:
ولی اگه نذاری هم بله اسیلاتور داخلی 8 مگ هم داره که با PLL میشه 72 مگ کانفیگ کرد :0013:

nimaltd
23-10-2013, 00:23
فکر کنم با اوسیلاتور داخلی تا 36 مگ سرعتش بشه . یه جایی خونده بودم

farhadjafari
01-12-2013, 08:26
درود بر شما دوستان

با تغيير کريستال خارجي کدوم تنظيمات بايد تغيير کنه تو برنامه ميکرو؟