QEI mit lm3s818

OP #1944142
Lesenswert?

Him ich versuche gerade meinen QEI am lm3s818 zum laufen zu bewegen, 
aber irgendwie verändert sich der voreingestellte Wert nicht. Die 
Eingänge als GPIO funktioinieren, das habe ich getestet. Sieht wer woran 
es liegen kann?
Anderec Code ist auch drin, da ich mitbekommen habe, daß die Reihenfolge 
teilweise wichtig ist.

1
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);
2
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
3
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); // nokia reset / encodertaste
4
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);// led
5
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); // 2 tasten PE0, PE1
6

7
SysCtlPeripheralEnable(SYSCTL_PERIPH_QEI0);
8

9

10
//
11
QEIConfigure(QEI_BASE, (QEI_CONFIG_CAPTURE_A_B | QEI_CONFIG_RESET_IDX |
12
                       QEI_CONFIG_QUADRATURE | QEI_CONFIG_SWAP), 23999);
13
SysCtlPeripheralReset(SYSCTL_PERIPH_QEI0);
14
QEIEnable(QEI0_BASE);
15
// vorbelegen mit 123
16
QEIPositionSet(QEI0_BASE,123);
17

18
// Configure the appropriate pins to be SSI instead of GPIO.  Note that
19
// the chip select is kept as a GPIO to guarantee the appropriate
20
// signalling to the Atmel device.
21
//
22
GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, SSI_CS);
23
GPIOPinWrite(GPIO_PORTA_BASE, SSI_CS, SSI_CS);
24
GPIOPinTypeSSI(GPIO_PORTA_BASE, SSI_CLK | SSI_TX | SSI_RX | SSI_CS);
25

26
//
27
// Configure and enable the SSI port for master mode.
28
//
29
SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,
30
      SSI_MODE_MASTER, 1000000, 9);
31
SSIEnable(SSI0_BASE);
32

33
// LED
34
GPIODirModeSet(GPIO_PORTD_BASE,  LED, GPIO_DIR_MODE_OUT);
35
GPIOPinWrite(GPIO_PORTD_BASE,  LED, 0);

Auslesen des Wertes erfolgt mit QEIPositionGet(QEI0_BASE);

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren