Finalized read_adc

This commit is contained in:
T-moe
2016-01-31 22:22:45 +01:00
parent c86d0a697c
commit 2e2739093e

View File

@@ -169,20 +169,20 @@ end_adc_init:
//No Parameters, Return value in R0 (halfword, 2bytes) //No Parameters, Return value in R0 (halfword, 2bytes)
read_adc: read_adc:
.set OFFSET_SMPR2, 0 .set OFFSET_SMPR2, 0x10
.set OFFSET_SQR3,0 .set OFFSET_SQR3, 0x34
.set OFFSET_SR,0 .set OFFSET_SR, 0
.set OFFSET_DR,0 .set OFFSET_DR, 0x4C
.set ADC_Channel_8, 000000 .set ADC_Channel_8, 8
.set SMPR1_SMP_SET, 0 .set SMPR1_SMP_SET, 0x07
.set ADC_SampleTime_15Cycles,0 .set ADC_SampleTime_15Cycles, 1
.set SQR3_SQ_SET, 0 .set SQR3_SQ_SET, 0x1F
.set ADC_CR2_SWSTART, 0 .set ADC_CR2_SWSTART, 0x40000000
.set ADC_FLAG_EOC, 0 .set ADC_FLAG_EOC, 0x2
.set ADC_MASK, 0 .set ADC_MASK, 0x3FF
LDR r1, =0xFEFEFE; LDR r1, =0x40012000; //ADC base address
MOV r0, #3*ADC_Channel_8 //r0 = 3 * ADC_Channel_8 MOV r0, #3*ADC_Channel_8 //r0 = 3 * ADC_Channel_8
//ADC1->SMPR2 &= SMPR1_SMP_SET << (3 * ADC_Channel_8); //ADC1->SMPR2 &= SMPR1_SMP_SET << (3 * ADC_Channel_8);
@@ -209,7 +209,7 @@ read_adc:
//ADC1->CR2 |= ADC_CR2_SWSTART; //ADC1->CR2 |= ADC_CR2_SWSTART;
LDR r3, [r1, #OFFSET_CR2] // r3 = ADC1->CR2 LDR r3, [r1, #OFFSET_CR2] // r3 = ADC1->CR2
MOV r2, #ADC_CR2_SWSTART LDR r2, =#ADC_CR2_SWSTART
ORR r3, r3, r2 // r3 |= r2 ORR r3, r3, r2 // r3 |= r2
STR r3, [r1, #OFFSET_CR2] // ADC1->CR2 = r3 STR r3, [r1, #OFFSET_CR2] // ADC1->CR2 = r3
@@ -222,10 +222,11 @@ read_adc_loop:
//uint16_t value = 0; //uint16_t value = 0;
//value = ADC1->DR; //value = ADC1->DR;
LDRH r0, [r1, #OFFSET_DR] //r0 = ADC1->DR MOV r2, #OFFSET_DR
LDRH r0, [r1, r2] //r0 = ADC1->DR
//value &= ADC_MASK; //value &= ADC_MASK;
MOV r2, #ADC_MASK LDR r2, =#ADC_MASK
AND r0, r0, r2 // r0 &= r2 AND r0, r0, r2 // r0 &= r2
//return value; //return value;