راه اندازی ADC در ARM STM32

 

 


مشاهده ی فیلم های اموزشی بیشتر درباره ی مبدل انالوگ دیجیتال


هدف از مثال زیر این است که شما با مبدل آنالوگ به دیجیتال ADC)) و طریقه­ ی راه­اندازی آن در میکروکنترلرهای ARM   آشنا شوید.

سخت افزار

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

آشنایی و کار با برنامه

ابتدا برنامه را با نرم افزار Keil باز کنید.

 

 

 

 

 

 

 

 

تغذیه 5 ولت را به برد آموزشی متصل کنید و بعد از اینکه پروگرامر ST-LINK را به برد متصل نمودید؛ برنامه را با استفاده از دکمه ­ی Download    پروگرم نمائید.

 

توضیحات مربوط به برنامه

ابتدا کتابخانه­ های مربوطه فراخوانی شده­ اند.

[pastacode lang=”cpp” manual=”%23include%20%22stm32f10x_usart.h%22%0A%23include%20%3Cstdio.h%3E%0A%23include%20%22bsp.h%22%0A%23include%20%22delay.h%22″ message=”” highlight=”” provider=”manual”/]

دستوراتی که در زیر آورده شده است، مربوط به ارسال داده از طریق سریال است که این تنظیمات برای ارسال داده­ها  استفاده می­شوند تا امکان استفاده از printf وجود داشته باشد.

[pastacode lang=”cpp” manual=”%2F%2Fprintf%20init%0Astruct__FILE%20%7B%20inthandle%3B%7D%20%3B%0A%0AFILE__stdout%3B%0AFILE__stdin%3B%0AFILE__stderr%3B%0A%0Aintfputc(intch%2C%20FILE*f)%20%0A%7B%0A%20%20%20%20while(!USART_GetFlagStatus(COM1%2CUSART_FLAG_TXE))%3B%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20USART_SendData(COM1%2Cch)%3B%20%20%20%0A%0A%20%20%20%20while(!USART_GetFlagStatus(COM2%2CUSART_FLAG_TXE))%3B%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20USART_SendData(COM2%2Cch)%3B%20%20%20%0A%20%20%20%20%20%20%20%0A%20%20%20%20returnch%3B%20%0A%7D” message=”” highlight=”” provider=”manual”/]

در تابع اصلی (main) ابتدا کلاک مربوط به GPIO  ، Usart و ADC  روشن می­شود و سپس پیکربندی مربوط به هر یک از این پریفرالها انجام می گیرد. در داخل حلقه­ی while  از طریق تابع getval  مقدار آنالوگ تبدیل به دیجیتال شده و از طریق USAR1 , USART2  ارسال می­شوند.

[pastacode lang=”cpp” manual=”intmain(void)%0A%7B%0A%20%20%20%20%2F********%20Intial%20the%20clock%20and%20perpherals%20*************%2F%0A%20%20RCC_Configuration()%3B%0A%20%20GPIO_Configuration()%3B%0A%20%20Com1_Intial()%3B%20%20%2F%2Fusb%20to%20serial%0A%20%20Com2_Intial()%3B%20%20%2F%2FCOM%20PORT%20(Rs232)%0A%20ADC1_Intial()%3B%0A%20delay_intial()%3B%0A%20%20%20%20%0A%20%20printf(%22Naminic%20STM32%20evaluation%20board%22)%3B%0A%20%20%20%20while(1)%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20printf(%22adc%20get%20val%20%3D%20%25d%22%2CgetVal())%3B%0A%20%20%20%20%20%20%20%20delayMs(400)%3B%0A%20%20%20%20%7D%0A%20%20%20%20return0%3B%0A%20%20%20%20%0A%7D” message=”” highlight=”” provider=”manual”/]

 

دانلود مثال ها و pdf این مقاله



 

Tags: , , ,