توضیحات
ما تا بحال سنسورهای مختلف یک سیم را در گذشته در این سایت پوشش داده ایم، از جملهDS18B20 . اگر به خاطر داشته باشید، ما از روشی استفاده کردیم که پین برای مدت زمان معین بالا (Up) است یا نه، تا تشخیص دهیم بیت «۱» است یا «۰».
به نظر می رسد رویکرد دیگری نسبت به این حسگرهای سیمی وجود دارد و آن استفاده از UART است.
این آموزش نحوه ارتباط سنسور DS18B20 با STM32 را با استفاده از UART پوشش می دهد. همچنین شاهد عملکرد چندین سنسور DS18B20 خواهیم بود.
پس از ایجاد کد، فایل های کتابخانه onewire.c و onewire.h را وارد کنید
اول از همه باید نمونه UART مورد استفاده خود را تعریف کنیم:
این مورد در فایل onewire.c (خط ۲۳ به بعد) تعریف شده است. از آنجایی که من از USART 1 استفاده می کنم، آن را تعریف کرده ام.
در ادامه تعداد سنسورهایی که به تک پین وصل کرده ایم را مشخص می کنیم.
تعداد دستگاه هایی که باید در ۲ مکان مختلف تعریف شود. در فایل onewire.c (خط ۲۶) و در فایل onewire.h (خط ۲۶) وجود دارد.
من ۲ سنسور DS18B20 وصل کردم، بنابراین ۲ تا تعریف کردیم.