سلام بر همه ی متخصصین گرامی.
بنده یه چند روزی هست می خوام با میکروی stm32f030f4p6 کار کنم. ولی یه مشکل عجیبی خوردم که جلوی روند پروژم رو درگیر نکرده ولی به نظرم عجیبه که چرا اینجوریه.
خلاصه بگم که میخوام با تایمر های این میکرو کار کنم ولی هر تایمر یه نقص فنی خاصی داره.
مثلا تایمر 1 روی بعضی چنل هاش pwm کار میکنه ولی روی بعضی هاش به شدت ولتاژ پایینی میده.
باز روی همون چنل هایی که کار میکنه بعضی هاش روشون duty cycle میشه تنظیم کرد و حین کارکرد میکرو تغییر داد ولی روی چنل بغلی مثلا چنل 2 هر کاری میکنم تنظیم نمیشه.
و این هایی که گفتم فقط مختص تایمر 1 نیست و هر تایمری یه چیزیش کار نمیکنه. مثلا فانکشن اینتراپتcall back تایمر ها یکی در میون کار میکنه.
تقریبا مطمعن هستم که تنظیمات cube mx درست هستش و کد هام رو هم زیاد بررسی کردم.
نمونه کد هام هم به این صورت هست :
__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_2,50);
برای تنظیم دیوتی سایکل تایمر 1 چنل 2 روی 50 (پریود 100)
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
}
فانکشن کال بک که فکر کنم با اینتراپت هر تایمری باید فراخوانی بشه.