سلام و عرض ادب خدمت اعضای انجمن
من تابحال 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 الان
با تشکر
من تابحال 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 الان
با تشکر
دیدگاه