Forum: Mikrocontroller und Digitale Elektronik QEI mit lm3s818


von Jens B. (sio2)


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);

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.