MMKC
Thành Viên PIF
Tình hình mình code thử giao tiếp 595 với Lm4f nhưng kết quả không ra đúng theo ý mình
595 mình nối như sau:
Chân 13: OE nối đất
Chân 10: SRCLK nối VCC
Chân 14: Data nối với PẠ
Chân 12: Chân chốt nối với PD0
Chân 11: Clock nối với PA2
đây là code:
i
595 mình nối như sau:
Chân 13: OE nối đất
Chân 10: SRCLK nối VCC
Chân 14: Data nối với PẠ
Chân 12: Chân chốt nối với PD0
Chân 11: Clock nối với PA2
đây là code:
Code:
#define PART_LM4F120H5QR
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/ssi.h"
#include <stdbool.h>
#include <stdint.h>
void main(void) {
SysCtlClockSet(
SYSCTL_SYSDIV_10 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ
| SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);
GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_0);
//GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE, GPIO_PIN_5);
GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0, 0);
GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_5);
SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,
SSI_MODE_MASTER, 7000000, 8);
GPIOPinConfigure(GPIO_PA2_SSI0CLK);
GPIOPinConfigure(GPIO_PA5_SSI0TX);
SSIEnable(SSI0_BASE);
uint16_t spidata;
spidata = 0;
while (1) {
SSIDataPut(SSI0_BASE, spidata);
while (SSIBusy(SSI0_BASE)) {
}
GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0, 0);
//SysCtlDelay(SysCtlClockGet() / 10000);
GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0, 1);
SysCtlDelay(SysCtlClockGet());
}
}