سلام به همه
قصد دارم با هر بار فشردن کلید، یکی از پایه های میکرو برای زمان مشخصی مثلا 70 میکرو ثانیه یک و بعد صفر بشه.
یک راهش استفاده از تایمر هست و با هر بار فشردن کلید پایه رو یک و یک تایمر تنظیم شده روی 70 میکرو ثانیه رو start میکنیم و بعد توی وقفه پایه رو صفر و تایمر رو هم stop میکنیم.
اما برای یاد گیری بهتر میکرو های stm32 میخوام بوسیله timer در مد output compare این کار رو بدون نیاز به اجرای وقفه ای انجام بدم.
یک تایمر رو روی 70 میکرو ثانیه تنظیم کردم و مدش رو روی output compare در حالت active high قرار دادم، حالا با اجرا شدن دستور start تایمر پایه متصل به تایمر برای زمان 70 میکرو ثانیه یک و بعد صفر میشه، اما مشکل اینجاست که وقتی دوباره تایمر رو start میکنم دیگه کار نمیکنه،
لطفا دوستانی که میتونن کمک کنن
این مد onePulse برای اینکار آیا مفید هست؟
قصد دارم با هر بار فشردن کلید، یکی از پایه های میکرو برای زمان مشخصی مثلا 70 میکرو ثانیه یک و بعد صفر بشه.
یک راهش استفاده از تایمر هست و با هر بار فشردن کلید پایه رو یک و یک تایمر تنظیم شده روی 70 میکرو ثانیه رو start میکنیم و بعد توی وقفه پایه رو صفر و تایمر رو هم stop میکنیم.
اما برای یاد گیری بهتر میکرو های stm32 میخوام بوسیله timer در مد output compare این کار رو بدون نیاز به اجرای وقفه ای انجام بدم.
یک تایمر رو روی 70 میکرو ثانیه تنظیم کردم و مدش رو روی output compare در حالت active high قرار دادم، حالا با اجرا شدن دستور start تایمر پایه متصل به تایمر برای زمان 70 میکرو ثانیه یک و بعد صفر میشه، اما مشکل اینجاست که وقتی دوباره تایمر رو start میکنم دیگه کار نمیکنه،
لطفا دوستانی که میتونن کمک کنن
این مد onePulse برای اینکار آیا مفید هست؟