DMA-Polling دستور start

سلام
اینجا طبق تعریف و گفته خود شما در ویدیو آدرس بافر مبدا و مقصد باید قرار بگیره.سوالم اینه که پس چرا از ستاره * برای تعریف پوینتر استفاده نشده؟یعنی مثلا باید uint32_t *SrcAddress نوشته میشد.و توی کد خودمون هم (uint32_t *)&srcBuffer نوشته میشد.
hal_dma_start

با سلام
اینکه در تعریف تابع متغیر به چه صورت باشه بستگی داره که از اون متغیر در داخل تابع چه استفاده ای میخواهیم بکنیم. دلیل اینکه ما داخل کد از پوینتر استفاده کرده ایم این هستش که ما یک متغیر داریم و میخواهیم داخلش مقادیری ذخیره کنیم و حالا هر موقع آدرس این متغیر رو میخواهیم با پوینتر این آدرس رو مشاهده یا استفاده میکنیم. ولی در داخل این تابعی که شما عکسش رو گذاشته اید، تابع فقط به آدرس متغیر (جایی که در حافظه ذخیره شده) نیاز دارد و برای همین مقدار عددی آدرس به ورودی تابع داده شده است. اگر تابع مثلا میخواست محاسباتی روی اون داده ها انجام بده حتما از پوینتر به متغیر استفاده میکرد که دسترسی به مقادیر هم داشته باشه.