Επιστροφή στο Forum : STM32 και ADC με HAL Api
Γειά σας,
έχει καταφέρει κανείς να διαβάσει αναλογικές τάσεις με Stm32 για διαφορετικα κανάλια, όσο και να προσπαθώ δεν μπορω να το κάνω να δουλέψει. Έχει κανείς εμπειρία πάνω στο θέμα;
Με HAL οχι, με SPL πολλες φορες.
Τι εννοεις διαφορετικα καναλια;Ανεβασε τον κωδικα.
καναλια εννοώ, τα πινς που ειναι συνδεμενα με το ADC, να εχω δύο τασεις σε πίν και να μετράω μία την μία μία την άλλη. Το SPL τί είναι;
SPL = Standard Peripheral Library, είναι οι βιβλιοθήκες που προϋπήρχαν του HAL.
Ο κώδικας που γράφεις με SPL είναι πιο στενά εξαρτώμενος από το συγκεκριμένο hardware (πράγμα που δεν είναι απαραιτήτως κακό) με αποτέλεσμα να μην είναι το ίδιο εύκολα μεταφέρσιμος όπως με το HAL.
Ανεβασε τον κωδικα.
νομίζω τα καταφερα, θελει αυριο να το ξανα τεσταρω, εκανα τις εξής ρυθμίσεις:
η 5 και η 4 γραμμή ήταν το πρόβλημα.
g_AdcHandle.Instance = ADC1;
g_AdcHandle.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV2 ;
g_AdcHandle.Init.Resolution = ADC_RESOLUTION_12B;
g_AdcHandle.Init.ScanConvMode = ENABLE ;
g_AdcHandle.Init.ContinuousConvMode = ENABLE;
g_AdcHandle.Init.DiscontinuousConvMode = DISABLE;
g_AdcHandle.Init.NbrOfDiscConversion = 0;
g_AdcHandle.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
g_AdcHandle.Init.ExternalTrigConv = ADC_SOFTWARE_START;
g_AdcHandle.Init.DataAlign = ADC_DATAALIGN_RIGHT;
g_AdcHandle.Init.NbrOfConversion = 2;
g_AdcHandle.Init.DMAContinuousRequests = DISABLE;
g_AdcHandle.Init.EOCSelection = ENABLE;
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.