راه اندازی سنسور DS18B20 چند تایی با پروتکل UART توسط میکرو STM32

ما تا بحال سنسورهای مختلف یک سیم را در گذشته در این سایت پوشش داده ایم، از جملهDS18B20  . اگر به خاطر داشته باشید، ما از روشی استفاده کردیم که پین برای مدت زمان معین بالا (Up) است یا نه، تا تشخیص دهیم بیت «۱» است یا «۰».

به نظر می رسد رویکرد دیگری نسبت به این حسگرهای سیمی وجود دارد و آن استفاده از UART است.

این آموزش نحوه ارتباط سنسور DS18B20 با STM32 را با استفاده از UART پوشش می دهد. همچنین شاهد عملکرد چندین سنسور DS18B20 خواهیم بود.

پس از ایجاد کد، فایل های کتابخانه onewire.c و onewire.h را وارد کنید

اول از همه باید نمونه UART مورد استفاده خود را تعریف کنیم:

این مورد در فایل onewire.c  (خط ۲۳ به بعد) تعریف شده است. از آنجایی که من از USART 1 استفاده می کنم، آن را تعریف کرده ام.

در ادامه تعداد سنسورهایی که به تک پین وصل کرده ایم را مشخص می کنیم.

تعداد دستگاه هایی که باید در ۲ مکان مختلف تعریف شود. در فایل onewire.c  (خط ۲۶) و در فایل onewire.h  (خط ۲۶) وجود دارد.

من ۲ سنسور DS18B20 وصل کردم، بنابراین ۲ تا تعریف کردیم.



جهت دانلود این پروژه به لینک زیر مراجعه کنید:

DS18B20 Using UART in STM32