ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 5 از 5
  1. #1
    2008/06/11
    بجنورد
    179
    3

    میکرو Stm فقط یکبار پروگرام میشه

    با سلام
    برای اولین بار یک برنامه چشمک زن ساده با CUBEMX و IAR اماده کردم ( قبلا از MIKROC FOR ARM استفاده میکردم ) ولی وقتی برنامه رو پروگرام میکنم برای بار دوم دیگه پروگرام نمیشه .
    از دو تا پروگرامر مختلف و همچنین با پروگرامر jlink در دو حالت SWD و JTAG امتحان کردم که مشکل حل نشد
    هیچ تداخلی هم بین پایه های مورد استفاده و پایه ها مخصوص پروگرام وجود نداره
    ممنون میشم اگر کمک کنید .
    خطا هم بصورت زیر است
    connecting to cpu via connect under reset failed
    TAB Command : 10 @

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    0x5
    Faied to connect
    Could not establish a connection to target
  2. #2
    2008/06/11
    بجنورد
    179
    3

    پاسخ : میکرو Stm فقط یکبار پروگرام میشه

    وقتی پایه BOOT رو به vcc وصل میکنم میشه پروگرام کرد و مثل اینکه بخاطر flash write protection است که نمیشه دوبار پروگرام کرد ُ*.. چجوری میشه تو تنظیمات اولیه cubemx این حالت رو غیر فعال کرد؟
  3. #3
    2008/12/26
    384
    114

    پاسخ : میکرو Stm فقط یکبار پروگرام میشه

    سلام
    فکر نکنم در تنظیمات اولیه cube قفل فلش فعال باشه اگه میتونی برنامه رو بذار ببینم فایل main رو میگم

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    اما error که میده مربوط به nreset هست پایه ریست رو چک کن ببین وصله و همینطور ببین دائما در یه وضعیت نباشه یعنی نا خواسته دائما pulldown باشه و همینطور برنامت رو چک کن
  4. #4
    2008/06/11
    بجنورد
    179
    3

    پاسخ : میکرو Stm فقط یکبار پروگرام میشه

     [FONT=Yekan]#include "main.h"[/FONT]#include "stm32f1xx_hal.h"


    TIM_HandleTypeDef htim1;
    TIM_HandleTypeDef htim2;


    UART_HandleTypeDef huart2;


    void SystemClock_Config(void);
    void Error_Handler(void);
    static void MX_GPIO_Init(void);
    static void MX_TIM1_Init(void);
    static void MX_TIM2_Init(void);
    static void MX_USART2_UART_Init(void);




    int main(void)
    {


    HAL_Init();
    SystemClock_Config();
    HAL_FLASH_Unlock();
    HAL_FLASH_OB_Unlock();
    MX_GPIO_Init();
    MX_TIM1_Init();
    MX_TIM2_Init();
    MX_USART2_UART_Init();


    while (1)
    {
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
    HAL_Delay(1000);
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
    HAL_Delay(1000);

    }


    }


    void SystemClock_Config(void)
    {


    RCC_OscInitTypeDef RCC_OscInitStruct;
    RCC_ClkInitTypeDef RCC_ClkInitStruct;


    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInitStruct.HSEState = RCC_HSE_ON;
    RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
    RCC_OscInitStruct.HSIState = RCC_HSI_ON;
    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
    RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
    if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
    {
    Error_Handler();
    }


    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
    |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
    RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;


    if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
    {
    Error_Handler();
    }




    HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
    HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
    HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
    }


    static void MX_TIM1_Init(void)
    {


    TIM_MasterConfigTypeDef sMasterConfig;
    TIM_IC_InitTypeDef sConfigIC;


    htim1.Instance = TIM1;
    htim1.Init.Prescaler = 0;
    htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim1.Init.Period = 0;
    htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim1.Init.RepetitionCounter = 0;
    if (HAL_TIM_IC_Init(&htim1) != HAL_OK)
    {
    Error_Handler();
    }


    sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
    sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
    if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK)
    {
    Error_Handler();
    }


    sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
    sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
    sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
    sConfigIC.ICFilter = 0;
    if (HAL_TIM_IC_ConfigChannel(&htim1, &sConfigIC, TIM_CHANNEL_1) != HAL_OK)
    {
    Error_Handler();
    }


    }


    static void MX_TIM2_Init(void)
    {


    TIM_MasterConfigTypeDef sMasterConfig;
    TIM_IC_InitTypeDef sConfigIC;


    htim2.Instance = TIM2;
    htim2.Init.Prescaler = 0;
    htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim2.Init.Period = 0;
    htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    if (HAL_TIM_IC_Init(&htim2) != HAL_OK)
    {
    Error_Handler();
    }


    sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
    sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
    if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
    {
    Error_Handler();
    }


    sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
    sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
    sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
    sConfigIC.ICFilter = 0;
    if (HAL_TIM_IC_ConfigChannel(&htim2, &sConfigIC, TIM_CHANNEL_1) != HAL_OK)
    {
    Error_Handler();
    }


    }


    static void MX_USART2_UART_Init(void)
    {


    huart2.Instance = USART2;
    huart2.Init.BaudRate = 115200;
    huart2.Init.WordLength = UART_WORDLENGTH_8B;
    huart2.Init.StopBits = UART_STOPBITS_1;
    huart2.Init.Parity = UART_PARITY_NONE;
    huart2.Init.Mode = UART_MODE_TX_RX;
    huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
    huart2.Init.OverSampling = UART_OVERSAMPLING_16;
    if (HAL_UART_Init(&huart2) != HAL_OK)
    {
    Error_Handler();
    }


    }




    static void MX_GPIO_Init(void)
    {


    GPIO_InitTypeDef GPIO_InitStruct;


    /* GPIO Ports Clock Enable */
    __HAL_RCC_GPIOD_CLK_ENABLE();
    __HAL_RCC_GPIOA_CLK_ENABLE();
    __HAL_RCC_GPIOB_CLK_ENABLE();


    /*Configure GPIO pin Output Level */
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_RESET);


    /*Configure GPIO pin : PB12 */
    GPIO_InitStruct.Pin = GPIO_PIN_12;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);


    }


    void Error_Handler(void)
    {


    while(1)
    {
    }
    }


    #ifdef USE_FULL_ASSERT


    void assert_failed(uint8_t* file, uint32_t line)
    {




    }


    #endif




    دلیل: ادغام دو پست برای جلوگیری از اسپم

    با mikroC*بدون مشکل پروگرام میکنه ولی با این برنامه فقط وقتی پروگرام میشه که BOOT0 به به vcc متصل کنم ..

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    خط 27 و 28 که
    HAL_FLASH_Unlock();
    HAL_FLASH_OB_Unlock();
    میشه رو خودم بعدا اضافه کردم که هیچ تاثیری نداشت
  5. #5
    2014/01/25
    شهرکرد
    247
    267

    پاسخ : میکرو Stm فقط یکبار پروگرام میشه

    سلام شما از CUBE استفاده میکنی باید حین تنظیم میکرو نحوه دیباگ رو روی SERIAL WIRE قرار بدی، (بهتره رو JTAG 5 پین قرار بدی تا از اون 3 پایه دیگه هم استفاده نکنی) الان برای این میکرو شما میتونی این تنظیم رو برای برنامه اعمال کنی و پایه دکمه ریست رو نگه داری به محض شروع پروگرام دستتو بردار تا میکرو شروع به پروگرام بشه و دیگه از این به بعد بدون نیاز به فشار دادن کلید ریست میکرو رو پروگرام کنی، این موضوع قبلا چند بار در انجمن بحث شده بود.
نمایش نتایج: از 1 به 5 از 5

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

  1. پاسخ: 15
    آخرين نوشته: 2017/07/06, 09:05
  2. atmega8 پروگرام میشه اما کار نمیکنه!
    توسط alireza.rezayi45 در انجمن میکروکنترلرهای AVR
    پاسخ: 8
    آخرين نوشته: 2013/05/29, 18:06
  3. مشکل با یک mega64 که پروگرام میشه ولی درست پروگرام نمیشه
    توسط saeidelectronic در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2012/09/04, 20:54
  4. AVR32 با چی پروگرام میشه؟
    توسط shahryarrajabzadeh در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2012/05/05, 15:03
  5. پروگرام میشه ولی جواب نمیده
    توسط esmit61 در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 7
    آخرين نوشته: 2010/01/02, 18:18

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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