سلام و خسته نباشید خدمت استاد عزیز
من میخواستم با Adc تعداد ۳ کانال و ADC2 هم تعداد سه کانال رو به صورت DMA راه اندازی کنم
Hal_Adc_Start_Dma رو برای هر ۲۰۰ تا نمونه تنظیم کردم برای هم ADC1 و ADC1 و در روتین
Hal_Adc_convcpltcallback میخوام از نمونه خام میانگیری کنم اما سوالم اینه که الان که ۶ تا کانال دارم که تو تنظیمات Adc 1 رو stream1 و ADC1 رو Stream2 هست هر دو تو یک روتین Hal_Adc_convcpltcallback میان؟
اگر آره به صورت داده ۰ تا ۵ قرار میگیرند و تا ۲۰۰ تا تکرار میشوند؟
اگر نه برای جدا کردن با چه دستوری از هم جدا کنیم؟
سلام و وقت بخیر
در مورد اینکه اینتراپت های کانال ها در داخل یک callback می آید با به صورت جداگانه، این مساله بستگی به میکروکنتلر دارد و در آموزش ها به صورت مفصل در این باره صحبت کرده ایم. اگر میکروکنترلر مورد استفاده خودتون رو بگید میتونم بیشتر راهنماییتون کنم. در مورد هدف کاری که میخواید بکنید هم بیشتر توضیح بدید، متوجه منظورتون نمیشم فکر میکنم اشتباه نوشتید بعضی جاهای سوال رو. اصلاح کنید لطفا که سوالتون واضح تر بشه.
ممنون استاد عزیز
میکرو من Stm32h750vbt6 هست
میخواستم از adc وقتی تبدیل تموم شد در روتین اینتراپت داخل یک متغیر بریزه.ولی صفر رو بر میگردونه.
تو اینترنت هم گشتم کدهای stm32f1 و stm32f4 (البته در کیوب میکرو رو stm32h7 انتخاب کردم) رو اجرا کردم نشد و مقدار صفر رو بر میگردوند.
تو اینترنت گفته مشکل مربوط به cache هست ولی نمیدونم چی میگه.