مهمترین کاربردهای اشاره گر در زبان C میکروکنترلرها

توسط | 2 آبان, 1401 | برنامه نویسی, وبلاگ | 0 دیدگاه

مهمترین کاربردهای اشاره گر

آموزش برنامه نویسی و استاندارد MISRA یوبرد

روح سیستم های دیجیتال میکروکنترلری

آموزش های رایگان برنامه نویسی C و C++

فیلم های آموزش برنامه نویسی استاندارد

آموزش خصوصی برنامه نویسی حرفه ای میکروکنترلر

اخبار جدید یوبرد در اینستاگرام

کاربردهای اشاره گر در زبان C میکروکنترلرها شامل موارد مختلفی است که مهمترین آنها «ارسال اشاره ­گر به تابع» و «اشاره­ گر به تابع» است. در این نوشته ابتدا آنها را به اختصار شرح داده سپس در مورد اهمیت کاربرد اشاره گر در  میکروکنترلر توضیح می دهیم.

 

ویدئوی 1 – اشاره گر در زبان C میکروکنترلرها – مهمترین کاربردها

ارسال اشاره ­گر به تابع در زبان C

یکی از کاربردهای اشاره­ گر در C، «ارسال اشاره ­گر به تابع» یا ورودی تابع به صورت اشاره ­گر است به این معنی که اشاره­ گر به عنوان پارامتر تابع برای نگهداری آدرس آرگومان­ های ارسال­ شده در طول فراخوانی تابع استفاده می ­شود. در این کاربرد اشاره گر در برنامه نویسی C، وقتی به جای متغیر، یک اشاره­ گر را به عنوان آرگومان ارسال می ­کنیم، به جای مقدار، آدرس متغیر ارسال می­ شود. در ارسال اشاره گر به تابع، با استفاده از دسترسی به محتوای اشاره گر از طریق آدرس آن، می توان مقدار آن را خواند یا تغییر داد.

انواع متغیر در زبان C

HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart);
HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart);
HAL_StatusTypeDef HAL_LIN_Init(HUART_HandleTypeDef *huart, unit32_t BreakDetectLength);
HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, unit8_t Address, unit32_t WakeUpMethod);
HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart);
void HAL_UART_MspInit(UART_HandleTypeDef *huart);
Void HAL_UART_MspDeInit(UART_HandleTypeDef *huart);

اشاره­ گر به تابع در زبان C

یکی دیگر از کاربردهای اشاره­ گر در زبان C، «اشاره­ گر به تابع» است. اشاره­ گر به تابع اشاره­ گری ­ست که به یک تابع اشاره می­ کند. بر خلاف اشاره به یک داده که توسط اشاره گر انجام می شود، اشاره گر به تابع، به یک کد قابل اجرا که در حافظه وجود دارد، اشاره می کند. با اشاره­ گر به تابع می­ توان تابعی که به آن اشاره شده است را فراخوانی کرد و آرگومان ­هایی را مانند فراخوانی یک تابع معمولی ارسال کرد. چنین فراخوانی همچنین به عنوان فراخوانی غیر مستقیم شناخته می ­شود، چرا که تابع به طور غیرمستقیم از طریق یک متغیر فراخوانی می ­شود به جای اینکه به طور مستقیم از طریق یک شناسه یا آدرس ثابت، فراخوانی شود.

void (* TxHalfCpltCallback)(struct__UART_HandleTypeDef *huart);
void (* TxCpltCallback)(Struct__UART_HandleTypeDef *huart);
void (* RxHalfCpltCallback)(struct__UART_HandleTypeDef *huart);
void (* RxCpltCallback)(struct__UART_HandleTypeDef *huart);
void (*ErrorCallback)(struct__UART_HandleTypeDef *huart);
void (*AbortCpltCallback)(struct__UART_HandleTypeDef *huart);
void (*AbortTransmitCpltCallback)(struct__UART_HandleTypeDef *huart);
void (*AbortRecieveCpltCallback)(struct__UART_HandleTypeDef *huart);
void (*WakeupCallback)(struct__UART_HandleTypeDef *huart);
void (*RxEventCallback)(struct__UART_HandleTypeDef *huart, unit16_t Pos);
void (*MspInitCallback)(struct__UART_HandleTypeDef *huart);
void (*MspDeInitCallback)(struct__UART_HandleTypeDef *huart);

 

کاربردهای اشاره گر در زبان C میکروکنترلرها

دو کاربرد اشاره گر در زبان C که در بالا توضیح داده شدند، یعنی «ارسال اشاره گر به تابع» و «اشاره­ گر به تابع»، مهمترین کاربردهای اشاره ­گر در برنامه نویسی میکروکنترلرها هستند. این دو مورد در پلتفرم­ های مختلفی مثل پلتفرم HAL و پلتفرم یوبرد بسیار مورد استفاده قرار می ­گیرند. با ارسال اشاره گر به تابع می ­توان آرایه ها، رشته ها و استراکچرها را به صورت اشاره گر به توابع ارسال کرد و در متن توابع از آنها استفاده کرد. با کاربرد اشاره گر به تابع نیز می توان آدرس توابع مختلف را در اشاره گرها قرار داد و با استفاده از آدرس، آنها را فراخوانی کرد. کاربردهای مذکور، مهمترین کاربردهای اشاره­ گر در دنیای میکروکنترلرها هستند که در این نوشته آنها را معرفی کردیم و هرکدام را به اختصار شرح دادیم.

فیلم آموزش زبان C میکروکنترلرها

رضا اسدی

رضا اسدی

مدیر یوبرد، خالق و توسعه دهندۀ پلتفرم یوبرد، مجری پروژه های الکترونیکی، فعال در صنعت آسانسور، سابقه فعالیت در صنعت خودرو و همکاری در صنعت پزشکی و صنایع دیگر، آموزگار آموزش های یوبرد

سفارش پروژه میکروکنترلر یوبرد

زیرساخت مطمئن صنعت

جدیدترین تاپیک های برنامه نویسی

استفاده از زبان سی در سیستم های حیاتی

از همه ابزارهای زبان برنامه نویسی میکروکنترلرها استفاده کنیم؟!

ابزارهای زبان برنامه نویسی میکروکنترلرها در استانداردهای برنامه نویسی محدود شده است. بطور مثال در استاندارد MISRA-C برای سیستم های حیاتی، استفاده از دستورهای goto و continue ممنوع شده است. در این نوشته به بررسی این موضوع می پردازیم.

انواع-متغیر-زبان-c-cpp

انواع متغیر در زبان برنامه نویسی C

انواع متغیرها در زبان C، تعریف انواع متغیر در زبان C، انواع متغیر در نرم افزار کدویژن و نرم افزار Keil، آرایه و رشته در زبان برنامه نویسی C، انواع متغیر استراکچر (Structure) و یونیون (union)، typedef در زبان C، متغیر نوع volatile، متغیرهای عمومی (Global)، متغیرهای محلی (Local)

ساخت-کتابخانه-c-cpp

نحوۀ ساخت کتابخانه در زبان برنامه نویسی C برای میکروکنترلرها

کتابخانه در زبان برنامه نویسی چیست؟ ساخت کتابخانه در نرم افزار CodevisionAVR، کتابخانه با پسوند h، کتابخانه با پسوند c، کتابخانه با پسوند h و c، فراخوانی کتابخانه، کاربرد دستور پیش پردازندۀ #ifndef در نوشتن کتابخانه، فراخوانی کتابخانه از پوشه های مختلف، ساخت کتابخانه در نرم افزار Keil

کلاس-حافظه-زبان-c-cpp

کلاس حافظه در C و C++

کلاس حافظه چیست؟ تعریف کلاس حافظه، کلاس حافظه در C و C++، حوزۀ تعریف متغیرها، طول عمر متغیرها، متغیرهای عمومی و محلی، کلاس حافظۀ اتوماتیک (Automatic)، کلاس حافظۀ رجیستر (Register)، کلاس حافظۀ Static محلی و عمومی، کلاس حافظۀ خارجی (External)، کلاس حافظۀ Mutable، کلمۀ کلیدی volatile

0 دیدگاه

یک دیدگاه بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دیگر آموزش های یوبرد

آموزش ARM STM32 یوبرد

شروع بازی ST

آموزش طراحی PCB و نویز یوبرد

تجسم دنیای الکترونیک

آموزش لحیم کاری و IPC-A-610 یوبرد

ساخت دنیای الکترونیک

آموزش FreeRTOS یوبرد

زمان واقعی در میکروکنترلر و پردازنده های کوچک با FreeRTOS

آموزش آردوینو یوبرد

جادۀ آسفالت میکروکنترلر

آموزش ماژول های SIM800 یوبرد

تلفن همراه صنعت

آموزش زبان ++C و ++MISRA-C یوبرد

لمس شی گرایی در میکروکنترلرها

آموزش میکروکنترلرهای AVR یوبرد

شاهکار 8 بیتی Atmel

آموزش میکروکنترلرهای LPC یوبرد

یادگار فیلیپس

آموزش های شاخص

دانلود

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

زمان هر پیام صوتی 4 دقیقه است