久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2752|回復: 0
打印 上一主題 下一主題
收起左側

LM3S6916硬件SPI驅動 AT45DB161D

[復制鏈接]
跳轉到指定樓層
樓主
ID:71407 發表于 2014-12-31 22:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
幾個星期之前做過用LM3S6916硬件SPI驅動AT45DB161D的實驗,實現了一些簡單的功能,后來因為工程中沒有再用到AT45DB161D,所以沒有再繼續做下去。
代碼是在網上找的gxlujd(彩虹)寫的“ATMEL的DATAFLASH操作函數庫(FOR AT45DB161D)”,只要改SPI操作方面的函數就行了。
/* Peripheral definitions for EK-LM3S6965 board */
#define SDC_SSI_BASE            SSI0_BASE
#define SDC_SSI_SYSCTL_PERIPH   SYSCTL_PERIPH_SSI0
#define SDC_GPIO_PORT_BASE      GPIO_PORTA_BASE
#define SDC_GPIO_SYSCTL_PERIPH  SYSCTL_PERIPH_GPIOA
#define SDC_SSI_CLK             GPIO_PIN_2
#define SDC_SSI_TX              GPIO_PIN_5
#define SDC_SSI_RX              GPIO_PIN_4
#define SDC_SSI_PINS            (SDC_SSI_TX | SDC_SSI_RX | SDC_SSI_CLK)
#define SDC_CS_GPIO_PORT_BASE      GPIO_PORTA_BASE
#define SDC_CS_GPIO_SYSCTL_PERIPH  SYSCTL_PERIPH_GPIOA
#define SDC_CS                     GPIO_PIN_6
#define Select_Card()           GPIOPinWrite(SDC_CS_GPIO_PORT_BASE, SDC_CS, 0)
#define Deselect_Card()         GPIOPinWrite(SDC_CS_GPIO_PORT_BASE, SDC_CS, SDC_CS)

/*--------------------------- spi_hi_speed ----------------------------------*/
#define HI 1
#define LO 0
void spi_hi_speed(unsigned char on)
{
   /* Set a SPI clock speed to desired value. */
   SSIDisable(SDC_SSI_BASE);
   if(on == HI){
      /* Max. 20 MBit used for Data Transfer. */
      SSIConfig(SDC_SSI_BASE, SSI_FRF_MOTO_MODE_0,SSI_MODE_MASTER,SysCtlClockGet() / 2, 8);
   }
   else {
      /* Max. 400 kBit used in Card Initialization. */
      SSIConfig(SDC_SSI_BASE, SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 400000, 8);
   }
   SSIEnable(SDC_SSI_BASE);
}
/*--------------------------- spi_send --------------------------------------*/
unsigned char spi_send(unsigned char outb)
{
   // Write and Read a byte on SPI interface.
   unsigned long inb;
   SSIDataPut(SDC_SSI_BASE, outb);
   SSIDataGet(SDC_SSI_BASE, (unsigned long *)&inb);
   return (inb);
}

//*****************************************************************************
//
// SramInit puts the SRAM device in burst mode then polls the status register
// for a valid status response. Returns True if successful.
//
//*****************************************************************************
void SPI_Init(void)
{
/* Initialize and enable the SSP Interface module. */
unsigned long i;

/* Enable the peripherals used to drive the SDC on SSI, and the CS */
SysCtlPeripheralEnable(SDC_SSI_SYSCTL_PERIPH);
SysCtlPeripheralEnable(SDC_GPIO_SYSCTL_PERIPH);
SysCtlPeripheralEnable(SDC_CS_GPIO_SYSCTL_PERIPH);

/* Configure the appropriate pins to be SSI instead of GPIO */
GPIODirModeSet(SDC_GPIO_PORT_BASE, SDC_SSI_PINS, GPIO_DIR_MODE_HW);
GPIODirModeSet(SDC_CS_GPIO_PORT_BASE, SDC_CS, GPIO_DIR_MODE_OUT);
GPIOPadConfigSet(SDC_GPIO_PORT_BASE, SDC_SSI_CLK, GPIO_STRENGTH_4MA,GPIO_PIN_TYPE_STD_WPU);
GPIOPadConfigSet(SDC_GPIO_PORT_BASE, SDC_SSI_TX | SDC_SSI_RX,GPIO_STRENGTH_4MA, GPIO_PIN_TYPE_STD_WPU);
GPIOPadConfigSet(SDC_CS_GPIO_PORT_BASE, SDC_CS,GPIO_STRENGTH_4MA, GPIO_PIN_TYPE_STD_WPU);

/* Deassert the SSI0 chip select */
GPIOPinWrite(SDC_CS_GPIO_PORT_BASE, SDC_CS, SDC_CS);

/* Configure the SSI0 port */
SSIConfig(SDC_SSI_BASE, SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 400000, 8);
SSIEnable(SDC_SSI_BASE);

/* Send SPI Command with card not selected at 400 KBit. */
Deselect_Card();
for (i = 0; i < 16; i++)spi_send(0xFF);
}
其他的沒有改動,完整代碼在附件中,其中包含有LCDTG12232的驅動,感謝gxlujd(彩虹)無私共享源代碼!

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲免费一 | 亚洲免费精品 | 自拍偷拍视频网 | 黄色免费av | 精品久久久久久久久久久 | 欧美狠狠操| 日本人做爰大片免费观看一老师 | 国产成人福利 | 成人欧美一区二区三区视频xxx | 一区二区国产在线 | 免费色网址 | 欧美一二精品 | 欧美极品一区二区 | 人人操日日干 | 国产精品久久久久久妇女6080 | 亚洲视频一| 国产91综合一区在线观看 | 一区二区三区国产精品 | 亚洲免费三区 | 国产91久久精品一区二区 | 日韩中文字幕在线不卡 | 国产亚洲人成a在线v网站 | 国产电影一区二区 | 91精品国产综合久久久动漫日韩 | 精品亚洲一区二区三区四区五区 | 国产成人亚洲精品 | 久久久夜色精品亚洲 | 能看的av网站| 亚洲成人久久久 | 欧美一级片 | 亚洲精品视频网站在线观看 | 国产精品免费福利 | 欧美国产日韩一区二区三区 | 国产精品成人一区二区三区夜夜夜 | 国产精品综合网 | 久久99精品久久久久久国产越南 | 在线91| 五月婷婷激情网 | 中文字幕一区二区三区四区五区 | 成人精品鲁一区一区二区 | 综合九九 |