Mircy, w jaki sposób odczytywać rejestry w STM32? Cały czas zwraca mi zerowe wartości, pomimo, że linię wyżej zapisuję do niego jakieś wartości. Chciałbym wyświetlić sobie rejestr w hexie, żeby móc sprawdzić co się dzieje z ADC. Probowałem w taki sposób: printf("STATUS REGISTER: %lx\r\n", (long unsigned)ADC1->SR ); i w taki: (identyczny jak przy odczytywaniuy wartości po konwersji ) printf("STATUS REGISTER: %lx\r\n", (long unsigned)ADC1->SR & 0xFFFF );
@kobiaszu: musisz włączyć zegar dla ADC. Będzie to gdzieś w dokumentacji pod nazwą "peripheral register boundary addresses". Znajdujesz swoje ADCx, i szukasz pod co jest to podpięte (APB/AHB1/AHB2) i włączasz na to zegar. Znajdziesz to w Reference Manualu. Rozdział RCC - podrozdział RCC registers i odpowiedni *APB/AHB peripherial clock enable register*
Probowałem w taki sposób:
printf("STATUS REGISTER: %lx\r\n", (long unsigned)ADC1->SR );
i w taki: (identyczny jak przy odczytywaniuy wartości po konwersji )
printf("STATUS REGISTER: %lx\r\n", (long unsigned)ADC1->SR & 0xFFFF );
I ciągle dostaję 0 :/
#elektronika #programowanie #stm32
http://en.radzio.dxp.pl/stm32vldiscovery/lesson7,analog,to,digital,converter,adc.html
*APB/AHB peripherial clock enable register*
:)