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





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









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





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

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11
  1. #1
    2010/04/07
    تهران
    1,077
    150

    کار نکردن PWM در میکروی stm32f051

    سلام
    برای تست با کیوب یه پروژه بسیار ساده ساختم که فقط تایمر 1 خروجی هاش رو pwm کردم
    ولی مشکل اینجاست که پین های متناظر اصلا کار نمی کنند و همیشه 0 هستند
    در کیل قسمت شبیه ساز تایمر کار می کنه و شمارنده هم داره کار می کنه ولی اصلا خروجی نمیده پین ها
    مشکل چی می تونه باشه ؟؟؟
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  2. #2
    2010/04/07
    تهران
    1,077
    150

    پاسخ : کار نکردن PWM در میکروی stm32f051

    تایمر 16 و 17 هم خروجی نمیدن ؟؟؟
    دلیلش چی می تونه باشه ؟؟؟
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  3. #3
    2010/04/07
    تهران
    1,077
    150

    پاسخ : کار نکردن PWM در میکروی stm32f051

    فقط تایمر 15 خروجی pwm اش تا این جا کار کرد و الباقی انگار به پین متصل نیستند!!!!!
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  4. #4
    2018/07/30
    اهواز
    141
    77

    پاسخ : کار نکردن PWM در میکروی stm32f051

    نقل قول نوشته اصلی توسط seyed saeed

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

    عضویت

    تایمر 16 و 17 هم خروجی نمیدن ؟؟؟
    دلیلش چی می تونه باشه ؟؟؟
    باید alternate function مربوطه رو برای GPIO ها انجام بدید. جدولشون تو دیتاشیت هست (تو دیتاشیت، نه تو ریفرنس منوئل)
  5. #5
    2010/04/07
    تهران
    1,077
    150

    پاسخ : کار نکردن PWM در میکروی stm32f051

    نقل قول نوشته اصلی توسط tiranoid

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

    عضویت

    باید alternate function مربوطه رو برای GPIO ها انجام بدید. جدولشون تو دیتاشیت هست (تو دیتاشیت، نه تو ریفرنس منوئل)
    سلام
    احتمالا پست ابتدایی بنده رو ندیدید
    من پروژه رو با کیوب ساختم stmcuemx وقتی با این نرم افزار این کار رو می کنیم خود به خود alternative انجام می شه
    در صورتی که تایمر 15 رو هم همین طوری فعال کردم و داره کار می کنه
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  6. #6
    2010/04/07
    تهران
    1,077
    150

    پاسخ : کار نکردن PWM در میکروی stm32f051

    دوستان واقعا کسی نمی دونه مشکل از کجاست ؟؟
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  7. #7
    2018/07/30
    اهواز
    141
    77

    پاسخ : کار نکردن PWM در میکروی stm32f051

    نقل قول نوشته اصلی توسط seyed saeed

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

    عضویت

    دوستان واقعا کسی نمی دونه مشکل از کجاست ؟؟
    اتفاقا من پیگیر پست هستم و گهگاه چک هم میکردم ببینم حل شده یا نه. بنده از کیوب استفاده نمیکنم با LL دستی مینویسم. اگر شما کد پیکربندی تایمر 1 رو پست کنید خیلی خوب میشه
  8. #8
    2010/04/07
    تهران
    1,077
    150

    پاسخ : کار نکردن PWM در میکروی stm32f051

    نقل قول نوشته اصلی توسط tiranoid

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

    عضویت

    اتفاقا من پیگیر پست هستم و گهگاه چک هم میکردم ببینم حل شده یا نه. بنده از کیوب استفاده نمیکنم با LL دستی مینویسم. اگر شما کد پیکربندی تایمر 1 رو پست کنید خیلی خوب میشه
    بنده چون می خواستم فعلا تست بگیرم و بعدا در پروژه اصلی استفاده کنم از کیوب استفاده کردم و الا در نهایت رجیستری تنظیم می کنم
    یه بار هم رجیستری تنظیم کردم چون کار نکرد گفتم یه بار با کیوب تست اولیه رو بگیرم بعد برم سراغ رجیستر
    /* USER CODE BEGIN TIM1_Init 0 */

    /* USER CODE END TIM1_Init 0 */

    TIM_ClockConfigTypeDef sClockSourceConfig = {0};
    TIM_MasterConfigTypeDef sMasterConfig = {0};
    TIM_OC_InitTypeDef sConfigOC = {0};
    TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0};

    /* USER CODE BEGIN TIM1_Init 1 */

    /* USER CODE END TIM1_Init 1 */
    htim1.Instance = TIM1;
    htim1.Init.Prescaler = 0;
    htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim1.Init.Period = 8191;
    htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim1.Init.RepetitionCounter = 0;
    htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
    if (HAL_TIM_Base_Init(&htim1) != HAL_OK)
    {
    Error_Handler();
    }
    sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
    if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK)
    {
    Error_Handler();
    }
    if (HAL_TIM_PWM_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();
    }
    sConfigOC.OCMode = TIM_OCMODE_PWM1;
    sConfigOC.Pulse = 4096;
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
    sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
    if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
    {
    Error_Handler();
    }
    if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
    {
    Error_Handler();
    }
    if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
    {
    Error_Handler();
    }
    if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
    {
    Error_Handler();
    }
    sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_ENABLE;
    sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_ENABLE;
    sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
    sBreakDeadTimeConfig.DeadTime = 0;
    sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
    sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
    sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_ENABLE;
    if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)
    {
    Error_Handler();
    }
    /* USER CODE BEGIN TIM1_Init 2 */

    /* USER CODE END TIM1_Init 2 */
    HAL_TIM_MspPostInit(&htim1);

    این تنظیمات کیوب هست
    تو شبیه سازی به خوبی تایمر کار می کنه ولی فقط مسئله خروجی هست انگار که اون پین اصلا متصل نباشه
    حتی مقادیر alternative هم چک کردم اون ها هم تغییر کردن ولی باز کار نمی کنه
    خیلی برام عجیب بود تو سایت st هم دست و پا شکسته پرسیدم ولی کسی جواب نداده
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  9. #9
    2018/07/30
    اهواز
    141
    77

    پاسخ : کار نکردن PWM در میکروی stm32f051

    خب من روی STM32F030K6 ، تایمر 3، کد رو نوشتم و بدون مشکل کار میکنه. تو کد ببینید کدوم تنظیمات رو من نوشتم ولی شما ننوشتید تا مشخص بشه عیب کجاس. تایمر 3 هر دو مدل میکروکنترلر، دقیقا یه ساختار داره.

    uint16_t stepVal = 20;
    LL_InitTick(8000000, 1000);

    LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA);
    LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_6, LL_GPIO_MODE_ALTERNATE);
    LL_GPIO_SetPinOutputType(GPIOA, LL_GPIO_PIN_6, LL_GPIO_OUTPUT_PUSHPULL);
    LL_GPIO_SetPinSpeed(GPIOA, LL_GPIO_PIN_6, LL_GPIO_SPEED_FREQ_LOW);
    LL_GPIO_SetAFPin_0_7(GPIOA, LL_GPIO_PIN_6, LL_GPIO_AF_1);


    LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3);
    LL_TIM_SetClockSource(TIM3, LL_TIM_CLOCKSOURCE_INTERNAL);
    LL_TIM_SetCounterMode(TIM3, LL_TIM_COUNTERMODE_UP);
    LL_TIM_EnableARRPreload(TIM3);
    LL_TIM_SetAutoReload(TIM3, 8000);
    LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH1);
    LL_TIM_OC_ConfigOutput(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_OCPOLARITY_HIGH);
    LL_TIM_OC_SetPolarity(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_OCPOLARITY_HIGH);
    LL_TIM_OC_SetMode(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_OCMODE_PWM1);
    LL_TIM_OC_SetCompareCH1(TIM3, stepVal);
    LL_TIM_EnableCounter(TIM3);
    ویرایش توسط tiranoid : 2020/02/24 در ساعت 23:25
  10. #10
    2010/04/07
    تهران
    1,077
    150

    پاسخ : کار نکردن PWM در میکروی stm32f051

    نقل قول نوشته اصلی توسط tiranoid

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

    عضویت

    خب من روی STM32F030K6 ، تایمر 3، کد رو نوشتم و بدون مشکل کار میکنه. تو کد ببینید کدوم تنظیمات رو من نوشتم ولی شما ننوشتید تا مشخص بشه عیب کجاس. تایمر 3 هر دو مدل میکروکنترلر، دقیقا یه ساختار داره.

    uint16_t stepVal = 20;
    LL_InitTick(8000000, 1000);

    LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA);
    LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_6, LL_GPIO_MODE_ALTERNATE);
    LL_GPIO_SetPinOutputType(GPIOA, LL_GPIO_PIN_6, LL_GPIO_OUTPUT_PUSHPULL);
    LL_GPIO_SetPinSpeed(GPIOA, LL_GPIO_PIN_6, LL_GPIO_SPEED_FREQ_LOW);
    LL_GPIO_SetAFPin_0_7(GPIOA, LL_GPIO_PIN_6, LL_GPIO_AF_1);


    LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3);
    LL_TIM_SetClockSource(TIM3, LL_TIM_CLOCKSOURCE_INTERNAL);
    LL_TIM_SetCounterMode(TIM3, LL_TIM_COUNTERMODE_UP);
    LL_TIM_EnableARRPreload(TIM3);
    LL_TIM_SetAutoReload(TIM3, 8000);
    LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH1);
    LL_TIM_OC_ConfigOutput(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_OCPOLARITY_HIGH);
    LL_TIM_OC_SetPolarity(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_OCPOLARITY_HIGH);
    LL_TIM_OC_SetMode(TIM3, LL_TIM_CHANNEL_CH1, LL_TIM_OCMODE_PWM1);
    LL_TIM_OC_SetCompareCH1(TIM3, stepVal);
    LL_TIM_EnableCounter(TIM3);
    سلام
    ممنون ولی فرقی نکرد من هم با میکروی STM32F030K6 کار کردم ولی از این مشکلات نداشت
    این میکرو 051 نمی دونم عیبش چیه
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11

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

  1. ساخت پروگرمر با میکروی واسط و میکروی تارگت
    توسط hasanzadeh99 در انجمن میکروکنترلرهای AVR
    پاسخ: 8
    آخرين نوشته: 2019/05/16, 20:22
  2. نوع میکروی stm ? ? ? (کیل)
    توسط Ramin1768 در انجمن پروسسورهای ARM
    پاسخ: 4
    آخرين نوشته: 2015/06/12, 23:11
  3. مدار با میکروی PIC
    توسط golshang در انجمن مدار چاپی (PCB)
    پاسخ: 1
    آخرين نوشته: 2013/07/23, 21:34
  4. چرا میکروی من سوخت!
    توسط astro در انجمن میکروکنترلرهای PIC
    پاسخ: 7
    آخرين نوشته: 2012/12/16, 23:59
  5. میکروی من سوخته ؟
    توسط bioemm.com در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2008/09/29, 19:59

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

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

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

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

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