اطلاعیه

Collapse
No announcement yet.

Hardware Flow Control in STM32

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    Hardware Flow Control in STM32

    سلام و عرض ادب خدمت اعضای انجمن
    من تابحال Handshaking یا همون Hardware Flow Control رو با میکرو پیاده سازی نکردم، تو CubeMX گزینه Hardware Flow Control هم در بخش UART مشخصه وقتی تیک میزنم RTS/CTS فعال میشه و کد هم ساخته میشه.
    میخوام بدونم برا پیاده سازیش همین که کانفیگ سخت افزاری پایه ها رو فعال کنم کافیه یا نیاز به کد تایع و دستور خاصی هم برای اجرا داره؟
    تو توابع HAL UART دستور واضحی در موردش ندیدم تو آموزش ها هم کمتر بهش پرداخته شده اینطور بنظر میاد که نیاز به استفاده از تابع خاصی نداره اما میشه وضع فعال یا غیر فعال بودن پین های RTS/CTS رو اسکن کرد و ازش تو برنامه استفاده کرد. که من اینکار رو کردم ارتباط STM32 با SIM800 کارمیکنه RTS وضعش high هست و تو برنامه هم اسکن کردم فعال بود اما CTS فعال نمیشه و همیشه LOW هست از طرفی پین DCD همیشه High هستش از سمت ماژول SIM800 مشکوکم که آیا اصلا کنترل سخت افزاریم درست کار میکنه یا ارتباطی که دارم همون نرم افزاریه با RXTX الان
    با تشکر
    جدیدترین ویرایش توسط m.aziz; ۱۲:۱۷ ۱۴۰۳/۰۵/۰۹.

    #2
    نوشته اصلی توسط m.aziz نمایش پست ها
    سلام و عرض ادب خدمت اعضای انجمن
    من تابحال Handshaking یا همون Hardware Flow Control رو با میکرو پیاده سازی نکردم، تو CubeMX گزینه Hardware Flow Control هم در بخش UART مشخصه وقتی تیک میزنم RTS/CTS فعال میشه و کد هم ساخته میشه.
    میخوام بدونم برا پیاده سازیش همین که کانفیگ سخت افزاری پایه ها رو فعال کنم کافیه یا نیاز به کد تایع و دستور خاصی هم برای اجرا داره؟
    تو توابع HAL UART دستور واضحی در موردش ندیدم تو آموزش ها هم کمتر بهش پرداخته شده اینطور بنظر میاد که نیاز به استفاده از تابع خاصی نداره اما میشه وضع فعال یا غیر فعال بودن پین های RTS/CTS رو اسکن کرد و ازش تو برنامه استفاده کرد. که من اینکار رو کردم ارتباط STM32 با SIM800 کارمیکنه RTS وضعش high هست و تو برنامه هم اسکن کردم فعال بود اما CTS فعال نمیشه و همیشه LOW هست از طرفی پین DCD همیشه High هستش از سمت ماژول SIM800 مشکوکم که آیا اصلا کنترل سخت افزاریم درست کار میکنه یا ارتباطی که دارم همون نرم افزاریه با RXTX الان
    با تشکر
    خودم به خودم پاسخ میدم شاید بعدا بدرد کسی خورد:
    برای سریال فقط RX و TX کافیه و بقیه پین های سخت افزاری رو میشه از هر پورتی ایجاد و در برنامه به فراخور عملکرد ماژول مقابل استفاده کرد و به تابع خاصی هم نیاز نداره که براش HAL بنویسند، گاهی اوقات سرعت صفر و یک شدن انقدر سریع هست که ما متوجه نمیشیم و باید از راه دیباگ مرحله ای این رو فهمید.

    دیدگاه

    لطفا صبر کنید...
    X