您好!
下面我附加了代码、通过四通道 SPI 将数据写入闪存。但无法看到任何数据写入器件。请检查代码并返回
* main.c
*
#include
#include
#include "inc/hw_memmap.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/rom.h"
#include "driverlib/sysctl.h"
#include "driverlib/ssi.h"
#include "driverlib/adc.h"
#include "driverlib/pin_map.h"
#include "driverlib/uart.h"
#include "inc/hw_ints.h"
int main (void){
int i;
uint32_t ui32SysClk、ui32Index、data_page[20]、ID_Check;
uint32_t Rx_data[20]= 0x00;
//定义要接收的数据
uint32_t ui32废物桶,ID_CHECK;
//将系统时钟设置为25MHz
ui32SysClk = SysCtlClockFreqSet (SYSCTL_USE_OSC | SYSCTL_OSC_main | SYSCTL_XTAL_25MHz、25000000);
//spinit();
//数据();
SysCtlPeripheralEnable (SYSCTL_Periph_SSI3);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOP);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOL);
GPIOP1_SSI3XDAT3);
GPIOPinConfigure (GPIO_PP0_SSI3XDAT2);
GPIOPinConfigure (GPIO_PF0_SSI3XDAT1);
GPIOPinConfigure (GPIO_PF1_SSI3XDAT0);
GPIOPinTypeGPIOOutput (GPIO_PORTL_base、GPIO_PIN_0 | GPIO_PIN_1);
GPIOPinWrite (GPIO_PORTL_BASE、
GPIO_PIN_0、0XFF);
GPIOPinWrite (GPIO_PORTL_BASE、
GPIO_PIN_0、0XFF);
GPIOPinConfigure (GPIO_PF3_SSI3CLK);
//将 GPIO 端口引脚类型启用为 SPI
GPIOPinTypeSSI (GPIO_PORTP_BASE、(GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_3));
GPIOPinTypeSSI (GPIO_PORTF_BASE、GPIO_PIN_3);
//为模块提供冷盘。
SSIConfigSetExpClk (SSI3_base、120000000、SSI_FRF_MOTO_MOTO_0、SSI_MODE_MASTER、1000000、 8);
SSIAdvModeSet (SSI3_base、SSI_ADV_MODE_Quad_WRITE);
//SSIAdvFrameHoldEnable (SSI3_base);
SSIEnable (SSI3_base);
GPIOPinWrite (GPIO_PORTL_BASE、
GPIO_PIN_0、0XFF);
GPIOPinWrite (GPIO_PORTL_BASE、
GPIO_PIN_1、0XFF);
GPIOPinWrite (GPIO_PORTL_base、GPIO_PIN_0、0X00);
SSIDataPut (SSI3_base、0x06);
GPIOPinWrite (GPIO_PORTL_base、GPIO_PIN_0、0XFF);
uint32_t getStatus;
GPIOPinWrite (GPIO_PORTL_base、GPIO_PIN_0、0X00);
SSIAdvModeSet (SSI3_base、SSI_ADV_MODE_WRITE);
//SSIAdvModeSet (ui32Base、SSI_ADV_MODE_WRITE);
//SSIAdvFrameHoldEnable (SSI3_base);
SSIDataPut (SSI3_base、0x02); //发送页面程序命令
GPIOPinWrite (GPIO_PORTL_base、GPIO_PIN_0、0XFF);
GPIOPinWrite (GPIO_PORTL_base、GPIO_PIN_0、0X00);
SSIDataPut (SSI3_base、(0 >> 16)& 0xff);
SSIDataPut (SSI3_base、(0 >> 8)& 0xff);
SSIDataPut (SSI3_base、0和0xff);
//高芯片选择
GPIOPinWrite (GPIO_PORTL_base、GPIO_PIN_0、0XFF);
GPIOPinWrite (GPIO_PORTL_base、GPIO_PIN_0、0X00);
for (i=0;i<100;i++)
{
SSIDataPut (SSI3_base、0xFF);
while (SSIBusy (SSI3_base));
}
GPIOPinWrite (GPIO_PORTL_base、GPIO_PIN_0、0XFF);
返回0;
}