NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2728 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید

نمایش نتیجه های نظرسنجی ها: چگونه STM32 را ياد بگيريم؟

رأی دهندگان
263. شما نمی توانید در این نظرسنجی رای دهید.
  • سطحي و كار راه انداز

    20 7.60%
  • دقيق و حرفه اي

    243 92.40%
صفحه 48 از 58 نخستنخست ... 293031323334353637383940414243444546474849505152535455565758 آخرینآخرین
نمایش نتایج: از 941 به 960 از 1155

موضوع: شروع آموزش stm32 بر پایه برد سفارشی

  1. #941
    عضو جدید
    تاریخ عضویت
    Aug 2011
    نوشته ها
    18
    تشکر
    11
    تشکر شده 8 بار در 7 پست

    پیش فرض

    من فکر میکنم حدکثر فرکانسی که بتونیم با تایمر یه برنامه تو خروجی پورت ایجاد کنیم 36 مگاهرتز باشه چون ماکزیمم فرکانسمون 72 مگاهرتزه.
    اما این آپشن خروجی 50 مگاهرتز برای اینه که اگه خواستیم خروجی پی ال ال رو به یکی از پورت ها بدیم وجود داره(پین mco)

  2. کاربران : 2 تشکر کرده اند از شما iriana برای ارسال این پست سودمند:


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  4. #942
    عضو جدید
    تاریخ عضویت
    Sep 2007
    نام
    بابل
    نوشته ها
    17
    تشکر
    55
    تشکر شده 3 بار در 3 پست

    پیش فرض

    با سلام خدمت دوستان
    این برنامه ی جدید برای تست فرکانس روی پورت
    به صورت دسترسی بیتی دستور دادم ولی تهش شد این فرکانس
    شکل موج کاملا سوزنی شده ...
    مشکل از کجاست ؟؟






  5. تشکرها از این نوشته :


  6. #943
    عضو جدید
    تاریخ عضویت
    Sep 2007
    نام
    بابل
    نوشته ها
    17
    تشکر
    55
    تشکر شده 3 بار در 3 پست

    Exclamation

    اینم لینک برنامه ...
    اگه میشه این برنامه رو نگاه کنید
    ببینید فرکانسش روی چند هست ..
    شاید من تنظیمات رو بد انجام داده باشم ...

    GPIO - Download - 4shared

  7. #944
    عضو جدید
    تاریخ عضویت
    Sep 2007
    نام
    بابل
    نوشته ها
    17
    تشکر
    55
    تشکر شده 3 بار در 3 پست

    Exclamation

    نقل قول نوشته اصلی توسط Doloop نمایش پست ها
    سلام


    توی ورژن های قبلی ما خودمون باید فایل system_stm32f10x.c رو اضافه میکردیم و همچنین فایل startup رو هم کیل به پروژمون اضافه میکرد اما توی ورژن 5 به بعد دیگه نیازی نیست من فایل system_stm32f10x.c رو اضافه کنم و این کارو کیل انجام میده همچنین فایل startup هم توی ورژن 5 به بعد کمی تغیر کرده ...

    تنها کاری که من کردم فایل system_stm32f10x.c و startup رو حذف و از همون پنجره که گزینه Core و startup رو تیک میزدیم این دوتا فایل رو به پروژه اضافه کردم که حالا پروژه با ورژن 5 هماهنگ شده ..
    موفق باشید
    با سلام خدمت شما مهندس عزیز
    بعد از دو روز کل اینپیج رو خوندم ... چقدر طولانی بووود ولی کاملا ارزشش و داشت :D
    دوست عزیز یکی دو تا مشکل دارم با واحد RCC
    ببینید همون طور که شما گفتید تو کیل ورژن 5 از توی system_stm32f10x.h استارت اپ میشه فرکانس کاری رو دست زد ..
    مثل این عکس :


    فکر کنم تا اینجای مطلب رو درست اومده باشم ... حالا سوالاتی که دارم ؟
    1. ایا واقعا فقط با ریمارک کردن این چند خط میشه فرکانس کاری میکرو رو روی 24 با 56 یا72 تنظیم کرد ؟ فقط با ریمارک کردن ؟ احتیاجی نیست کار خاص دیگه ای انجام بدیم ؟؟؟
    2. این تنضیمات روی HSI تاثیر داره یا HSE ؟ کدومش انتخاب میشه ؟ انتخاب این دو تا به چه شکل انجام میشه ؟
    3. چطور میتونم مطمین بشیم که فرکانس مثلا روی 72 تنظیم شده ؟
    4. بعد از مطمین شدن کلاک کاری صحیح میکرو چجوری میشه یه delay هوشمند بنویسیم که بیاد فرکانس میکرو رو خودش بخونه و با تقسیمات بیاد تابع مورد نظرمونو اصلاح کنه . یعنی فرقی نداشه باشه فرکانس چند باشه 1ms توی تابع همون عدد باشه ؟؟؟
    5. کار تابع RCC توی preph.. تنظیم hse یا hsi هست یا خود system_stm32f10x.h این کار رو انجام میده و فقط این واحد کارش فعال سازی و کنترل و ... preph.. ها هست ؟؟

    شرمنده سوالات طولانی و زیاده ....
    ویرایش توسط sina_mehraban : 24-08-2014 در ساعت 18:34

  8. تشکرها از این نوشته :


  9. #945
    عضو جدید
    تاریخ عضویت
    Aug 2011
    نوشته ها
    18
    تشکر
    11
    تشکر شده 8 بار در 7 پست

    پیش فرض

    با سلام خدمت همه دوستان
    من ب stbperiph Driver ورژن 5 adc رو اضافه کردم ولی وقتی کامپایل میکنم خطای زیر رو میده مشکل کجاست؟

  10. تشکرها از این نوشته :


  11. #946
    عضو جدید
    تاریخ عضویت
    Apr 2009
    نوشته ها
    12
    تشکر
    6
    تشکر شده 13 بار در 4 پست

    پیش فرض

    سلام خدمت همه مهندسین گرامی
    به نظرتون مشکل این برنامه چیه که دیتا را درست جا به جا نمیکنه
    یک بایت دیتا از روی باس سریال دریافت میشه و میره روی باس SPI_1 (Master) 1 و از طریق این باس به SPI_2 (Slave) 2 منتقل میشه و از این طریق دوباره به باس سریال برمیگرده
    اصولا برنامه باید درست کار کنه اما درست کار نمیکنه یعنی اصلا دیتا از طریق SPI جابجا نمیشه


    کد:
    #include <stm32f10x.h>
    
    void RCC_Configuration    ( void );
    void GPIO_Configuration ( void );
    void USART_Configuration( void );
    void EXTI_Configuration    ( void );
    void SPI_Configuration    ( void );
    
    int main()
    {
        unsigned long s;
        unsigned char a, b;
        RCC_Configuration ( );
        GPIO_Configuration ( );
        USART_Configuration ( );
        EXTI_Configuration    ( );
        SPI_Configuration    ( );
        do
        {
            for(s = 0 ; s <100000; s++);
            if ( USART_GetFlagStatus(USART1, USART_FLAG_RXNE ) != RESET )
            {
                a = (uint16_t) USART_ReceiveData ( USART1 );
                for(s = 0 ; s <50000; s++);
                while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
                SPI_I2S_SendData(SPI1, a + 1);
                b = (uint16_t) SPI_I2S_ReceiveData ( SPI2 );
                for(s = 0 ; s <50000; s++);
                USART_SendData(USART1, b );while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET );
            }
    
        }while(1);
    }
    
    void RCC_Configuration(void)
    {
        ErrorStatus    HSEStartUpStatus;
        RCC_DeInit();
        RCC_HSEConfig(RCC_HSE_ON);    //    Set external XTAL For STM osillator ( 8 MHz )
        HSEStartUpStatus = RCC_WaitForHSEStartUp();
        if(HSEStartUpStatus == SUCCESS)
        {
            FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
            FLASH_SetLatency(FLASH_Latency_2);
            RCC_HCLKConfig(RCC_SYSCLK_Div1); 
            RCC_PCLK2Config(RCC_HCLK_Div1); 
            RCC_PCLK1Config(RCC_HCLK_Div2);
            RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
            RCC_PLLCmd(ENABLE);
            while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
            RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
            while(RCC_GetSYSCLKSource() != 0x08);
        }
        
        /*
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO|\
        RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO, ENABLE);
        */
    }
    
    
    void GPIO_Configuration ( void )
    {
        GPIO_InitTypeDef    GPIO_InitStructure;
        
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB ,  ENABLE);     //    GPIO Clock ENABLE
        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 |GPIO_Pin_6 |GPIO_Pin_7;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        
        // Configure GPIO for SPI slave: SCK, MOSI, SS as inputs
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_13| GPIO_Pin_15;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;           // Configure SCK and MOSI pins as Input Floating 
        GPIO_Init(GPIOB, &GPIO_InitStructure);
    
        // Configure GPIO for SPI slave: NSS as AF output
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
        
        /* Configure USART1 Tx (PA.09) as alternate function push-pull */
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
    
        /* Configure USART1 Rx (PA.10) as input floating */
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        GPIO_Init(GPIOA, &GPIO_InitStructure);    
    }
    
    
    void USART_Configuration(void)
    {
        USART_InitTypeDef USART_InitStructure;
        USART_ClockInitTypeDef  USART_ClockInitStructure;
        
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);    //    USART.1 Clock ENABLE
        
        /* USART1 configuration ------------------------------------------------------*/
        /* USART1 configured as follow:
            - BaudRate = 115200 baud  
            - Word Length = 8 Bits
            - One Stop Bit
            - No parity
            - Hardware flow control disabled (RTS and CTS signals)
            - Receive and transmit enabled
            - USART Clock disabled
            - USART CPOL: Clock is active low
            - USART CPHA: Data is captured on the middle 
            - USART LastBit: The clock pulse of the last data bit is not output to 
                             the SCLK pin
        */
        USART_ClockInitStructure.USART_Clock = USART_Clock_Disable;
        USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low;
        USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge;
        USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable;
        USART_ClockInit(USART1, &USART_ClockInitStructure);
    
        USART_InitStructure.USART_BaudRate = 115200;
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;
        USART_InitStructure.USART_StopBits = USART_StopBits_1;
        USART_InitStructure.USART_Parity = USART_Parity_No ;
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
        USART_Init(USART1, &USART_InitStructure);
        USART_Cmd(USART1, ENABLE);
    }
    
    
    
    void EXTI_Configuration(void)
    {
        EXTI_InitTypeDef EXTI_InitStructure;
    
        NVIC_InitTypeDef NVIC_InitStructure;
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);    //    Set PORTA.0 as External interrupt PIN
        EXTI_InitStructure.EXTI_Line = EXTI_Line0;
        EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
        EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
        EXTI_InitStructure.EXTI_LineCmd = ENABLE;
        EXTI_Init(&EXTI_InitStructure);
    
        NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
    }
    
    void SPI_Configuration(void)
    {
        SPI_InitTypeDef        SPI_InitStructure;
    //    GPIO_InitTypeDef    GPIO_InitStructure;
    
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 , ENABLE); //enable spi2 & PORTB clock.
    
        SPI_Cmd(SPI1, DISABLE);
        SPI_I2S_DeInit( SPI1 );
        /* SPI1 configuration */
        SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
        SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
        SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
        SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
        SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
        SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
        SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128;
        SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
        SPI_InitStructure.SPI_CRCPolynomial = 7;
        SPI_Init(SPI1, &SPI_InitStructure);
        /* Enable SPI1   */
        SPI_Cmd(SPI1, ENABLE);
        
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2 , ENABLE); //enable spi2 & PORTB clock.
    
        SPI_Cmd(SPI2, DISABLE);
        SPI_I2S_DeInit( SPI2 );
        /* SPI1 configuration */
        SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
        SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;
        SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
        SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
        SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
        SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
        SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128;
        SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
        SPI_InitStructure.SPI_CRCPolynomial = 7;
        SPI_Init(SPI2, &SPI_InitStructure);
        /* Enable SPI1   */
        SPI_Cmd(SPI2, ENABLE);
    
    }
    ویرایش توسط arsensp : 30-08-2014 در ساعت 17:20

  12. #947
    عضو جدید
    تاریخ عضویت
    Sep 2007
    نام
    بابل
    نوشته ها
    17
    تشکر
    55
    تشکر شده 3 بار در 3 پست

    پیش فرض

    سوالات زیاد شد ولی اساتید نیستن جواب بدن ؟؟؟

  13. #948
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط iriana نمایش پست ها
    با سلام خدمت همه دوستان
    من ب stbperiph Driver ورژن 5 adc رو اضافه کردم ولی وقتی کامپایل میکنم خطای زیر رو میده مشکل کجاست؟
    سلام مهندس
    داره تابع assert_param رو فراخوانی میکنه در صورتی که هیچجا تعریف نشده!
    _____________________________________
    _____________________________________

  14. کاربران : 2 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  15. #949
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    عبارت
    کد:
     
    #define USE_FULL_ASSERT
    در فایل stm32f10x_conf.h رو ریمارک کنید .

  16. کاربران : 2 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  17. #950
    عضو جدید
    تاریخ عضویت
    Aug 2011
    نوشته ها
    18
    تشکر
    11
    تشکر شده 8 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sigma-mx نمایش پست ها
    عبارت
    کد:
     
    #define USE_FULL_ASSERT
    در فایل stm32f10x_conf.h رو ریمارک کنید .
    با تشکر از پاسختون مهندس جان
    این کار رو قبلا انجام دادم ولی تاثیری نداشت .
    دوستانی که با کیل ورژن5 کار میکنن چطوری این مشکل رو رفع کردن؟

  18. #951
    عضو جدید
    تاریخ عضویت
    Aug 2011
    نوشته ها
    18
    تشکر
    11
    تشکر شده 8 بار در 7 پست

    پیش فرض

    مشکل assert_param در انتخاب stdperiph:
    تو کیل ورژن5 وقتی از زبانه stdperiph drivers یک درایور رو انتخاب کنین در حالت عادی بعد از کامپایل خطای assert_param رو بهتون میده و برای رفع این مشکل باید ایتدا از زبانه project روی پروژه ای که ساختین کلیک کنین:

    بعد از منوی project گزینه option for .... رو انتخاب کنین

    بعد از صفحه ای که باز شد رو زبانه C/C++ رو انتخاب کنین و تو قسمت define این عبارت رو اضافه کنین:
    USE_STDPERIPH_DRIVER

    حالا برنامتون رو کامپایل کنین و میبینین مشکلتون رفع شده

  19. تشکرها از این نوشته :


  20. #952
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    خب مهندس کلا برای استفاده از درایور های cmsis باید این define نوشته بشه . قبلا هم چنین بود.. همچنین عبارت STM32F10X_MD در صورت استفاده از سری Medium Density یا معادلش برای سری های دیگر .....

    البته کیل 5 یسری مواردش گویا با کیل 4 فرق می کنه .

  21. کاربران : 3 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  22. #953
    عضو جدید
    تاریخ عضویت
    Sep 2007
    نام
    بابل
    نوشته ها
    17
    تشکر
    55
    تشکر شده 3 بار در 3 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sina_mehraban نمایش پست ها
    با سلام خدمت شما مهندس عزیز
    بعد از دو روز کل اینپیج رو خوندم ... چقدر طولانی بووود ولی کاملا ارزشش و داشت :D
    دوست عزیز یکی دو تا مشکل دارم با واحد RCC
    ببینید همون طور که شما گفتید تو کیل ورژن 5 از توی system_stm32f10x.h استارت اپ میشه فرکانس کاری رو دست زد ..
    مثل این عکس :


    فکر کنم تا اینجای مطلب رو درست اومده باشم ... حالا سوالاتی که دارم ؟
    1. ایا واقعا فقط با ریمارک کردن این چند خط میشه فرکانس کاری میکرو رو روی 24 با 56 یا72 تنظیم کرد ؟ فقط با ریمارک کردن ؟ احتیاجی نیست کار خاص دیگه ای انجام بدیم ؟؟؟
    2. این تنضیمات روی HSI تاثیر داره یا HSE ؟ کدومش انتخاب میشه ؟ انتخاب این دو تا به چه شکل انجام میشه ؟
    3. چطور میتونم مطمین بشیم که فرکانس مثلا روی 72 تنظیم شده ؟
    4. بعد از مطمین شدن کلاک کاری صحیح میکرو چجوری میشه یه delay هوشمند بنویسیم که بیاد فرکانس میکرو رو خودش بخونه و با تقسیمات بیاد تابع مورد نظرمونو اصلاح کنه . یعنی فرقی نداشه باشه فرکانس چند باشه 1ms توی تابع همون عدد باشه ؟؟؟
    5. کار تابع RCC توی preph.. تنظیم hse یا hsi هست یا خود system_stm32f10x.h این کار رو انجام میده و فقط این واحد کارش فعال سازی و کنترل و ... preph.. ها هست ؟؟

    شرمنده سوالات طولانی و زیاده ....
    دوستان ، مهندسین و مدیران عزیز جواب این دو سه تا سوال ما رو نمیدید یا سوالات پست های قبل شو ؟؟؟

  23. #954
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sina_mehraban نمایش پست ها
    فکر کنم تا اینجای مطلب رو درست اومده باشم ... حالا سوالاتی که دارم ؟
    1. ایا واقعا فقط با ریمارک کردن این چند خط میشه فرکانس کاری میکرو رو روی 24 با 56 یا72 تنظیم کرد ؟ فقط با ریمارک کردن ؟ احتیاجی نیست کار خاص دیگه ای انجام بدیم ؟؟؟
    2. این تنضیمات روی HSI تاثیر داره یا HSE ؟ کدومش انتخاب میشه ؟ انتخاب این دو تا به چه شکل انجام میشه ؟
    3. چطور میتونم مطمین بشیم که فرکانس مثلا روی 72 تنظیم شده ؟
    4. بعد از مطمین شدن کلاک کاری صحیح میکرو چجوری میشه یه delay هوشمند بنویسیم که بیاد فرکانس میکرو رو خودش بخونه و با تقسیمات بیاد تابع مورد نظرمونو اصلاح کنه . یعنی فرقی نداشه باشه فرکانس چند باشه 1ms توی تابع همون عدد باشه ؟؟؟
    5. کار تابع RCC توی preph.. تنظیم hse یا hsi هست یا خود system_stm32f10x.h این کار رو انجام میده و فقط این واحد کارش فعال سازی و کنترل و ... preph.. ها هست ؟؟

    شرمنده سوالات طولانی و زیاده ....
    سلام
    1- بله
    2- HSE
    3- از دستور RCC_GetClocksFreq استفاده کن و کلاک قسمتهایی که میخوایی بدونی را میتونی بدست بیاری.
    4- کار RCC تنظیم کلاک قسمت های مختلف میکرو هست (هم HSE و هم HSI)
    _____________________________________
    _____________________________________

  24. تشکرها از این نوشته :


  25. #955
    عضو جدید
    تاریخ عضویت
    Jul 2014
    نوشته ها
    8
    تشکر
    2
    تشکر شده 0 بار در 0 پست

    پیش فرض

    با سلام و عرض ادب، یک سوال داشتم اگر ممکنه راهنمایی بفرمایید!
    من lcd برد expansion را برای میکرو stm32f407vg راه اندازی کردم. وقتی خواستم یک تصویر را با آن نمایش بدهم این Error را گرفت:

    امیدوارم دوستان بتوانند راهنمایی کنند. ممنون

    - - - Updated - - -

    فایل پیوست 8030

  26. #956
    عضو جدید
    تاریخ عضویت
    Sep 2007
    نام
    بابل
    نوشته ها
    17
    تشکر
    55
    تشکر شده 3 بار در 3 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام
    1- بله
    2- hse
    3- از دستور rcc_getclocksfreq استفاده کن و کلاک قسمتهایی که میخوایی بدونی را میتونی بدست بیاری.
    4- کار rcc تنظیم کلاک قسمت های مختلف میکرو هست (هم hse و هم hsi)
    دستت درد نکنه اقا صادق ....
    کم کم دارم لایبراری ها شو میخونم واسه اینکه سر در بیارم .
    دوستان کم میان و طول می کشه جواب بدن ولی انصافا لایبراری ها شو خوب توضیح میده .
    فقط یه مقدار لمش دسته آدم بیاد راه میوفته ..
    راستی مهندس جان سوال من و در مورد اون شکل موج ها تو چند تا پست قبل تر جواب میدی اگر امکانش هست ؟؟؟؟
    نظر به اینکه من اون فرکانس رو روی پینی که led روش بود اجرا کردم ..

  27. #957
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    میتونه از led هم باشه که شکل موج رو تغییر داده . ولی یکبار هم با پروب رو حالت x10 تست کن . معمولا پروبهای اسکوپ تو حالت x1 پهنای باندشون کمه ولی برای x10 خیلی بالاتره ..

  28. کاربران : 3 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  29. #958
    کاربر علاقه مند dizgah آواتار ها
    تاریخ عضویت
    Oct 2007
    نام
    محمود حسینی پور
    نوشته ها
    76
    تشکر
    124
    تشکر شده 34 بار در 25 پست

    پیش فرض

    نقل قول نوشته اصلی توسط pooriya نمایش پست ها
    سلام
    اینم کتابخونه delay که میشه گفت جزء کتابخونه های پر مصرف هستش.چیز خاصی نداره و همه چیزش مشخصه.

    فقط یادتون نره که فرکانس کاری میکرو را داخل تابع delay_init مشخص کنید.مثال زیر برای فرکانس 72mhz هست.
    مثال GPIO را همراه با کتابخونه تاخیر مورد نظر پیوست میکنم.

    [PHP]delay_init(72);[/PHP]
    سلام این کتابخونه برای مقادیر کمتر از 1 ثانیه عالی جواب میده
    ولی برای ثانیه های بیشتر مثل 2 و 5 و ... درست کار نمیکنه (با استفاده از تابع میلی ثانیه)
    با توجه به اینکه این مقادیر بیش از ظرفیت متغیر نیستن و در واقع سرریز ایجاد نمیشه چرا باید این اتفاق رخ بده ؟
    ممنون

  30. #959
    عضو جدید
    تاریخ عضویت
    Aug 2011
    نوشته ها
    18
    تشکر
    11
    تشکر شده 8 بار در 7 پست

    پیش فرض

    دوستان کسی با اینتراپت تایمر 2 کیل ورژن 5 کار کرده؟
    من توی حلقه اصلی فلگ اینتراپتو بررسی میکنم میبینم فعال شده ولی تابع اینتراپتو فراخونی نمیکنه نمونه کدو میزارم


    #include <stm32f10x.h>
    #include "delay.c"
    #define LED1 GPIOD
    #define LED1_BIT GPIO_Pin_2


    void TIM2_IRQHandler()
    {
    TIM_ClearFlag(TIM2, TIM_IT_Update);
    LED1->ODR ^= LED1_BIT;
    }


    //mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmm
    void NVIC_Config(void)
    {
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn ;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriori ty = 0x00;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00;
    NVIC_Init(&NVIC_InitStructure);

    }
    //mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mm
    void EnableCLK(void)
    {
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE) ;
    }
    //mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmm
    void TIM_Configuration(void)// Timer Config
    {
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
    TIM_TimeBaseStructure.TIM_Prescaler = (40000);
    TIM_TimeBaseStructure.TIM_Period = (1800);
    TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);
    TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);




    }
    //mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmm
    void InitPort()
    {
    GPIO_InitTypeDef gp1;
    //Clock Enable
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE );
    gp1.GPIO_Speed=GPIO_Speed_10MHz;
    gp1.GPIO_Pin=LED1_BIT;
    gp1.GPIO_Mode=GPIO_Mode_Out_PP;
    GPIO_Init(LED1,&gp1);
    }
    //mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmm
    int main()
    {
    int i=0;
    FlagStatus f;
    EnableCLK();
    InitPort();
    // NVIC_Config();
    NVIC_EnableIRQ(TIM2_IRQn);
    TIM_Configuration();
    TIM_Cmd(TIM2, ENABLE);


    while(1)
    {
    f=TIM_GetITStatus(TIM2,TIM_IT_Update);
    //delay_ms(1000);
    if(f !=RESET)
    {
    TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
    LED1->ODR ^=LED1_BIT;
    }



    }
    }

  31. #960
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    سلام

    برای اینکه مشکلت سریعتر رفع بشه پروژه و قرار بده
    *** اللّهم عجّل لولیک الفرج ***

  32. تشکرها از این نوشته :


صفحه 48 از 58 نخستنخست ... 293031323334353637383940414243444546474849505152535455565758 آخرینآخرین

موضوعات مشابه

  1. پاسخ: 515
    آخرين نوشته: 09-12-2018, 12:45
  2. پاسخ: 105
    آخرين نوشته: 02-12-2015, 17:33
  3. Stm32 رو چطوری شروع کنم دوستان ...!
    توسط sarab1 در انجمن stm32
    پاسخ: 18
    آخرين نوشته: 11-10-2013, 18:54
  4. پاسخ: 9
    آخرين نوشته: 01-08-2010, 12:53
  5. انتشار قريب‌الوقوع نخستين به‌روزرساني بزرگ ويندوز سون
    توسط arsalan681 در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 0
    آخرين نوشته: 08-06-2010, 12:43

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •