⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spi_t_r.c

📁 EasyARM615的KEIL下的调试程序,包含IO口,串口,SPI口等
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.embedtools.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name: ssi_send.c
** Last modified Date: 2007-04-25 
** Last Version: v1.0
** Description: 通过 SSI 接口循环向外输出 0~F 的字模,74HC595 接收到 SSI 信号以后
**               在7段数码管上显示相应的字符。
** 
**------------------------------------------------------------------------------------------------------
** Created By: Pan Yi Fei
** Created date: 2007-04-25 
** Version: v1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
********************************************************************************************************/

#include "hw_memmap.h"
#include "hw_types.h"
#include "ssi.h"
#include "gpio.h"
#include "sysctl.h"
#include "systick.h"
#define BitRate     115200			// 设定波特率
#define DataWidth   8				// 设定数据宽度

// 此表为7段数码管显示0~F的字模
unsigned char DISP_TAB[16] = {
    0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
    0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E};

//-----------------------------------------------------------------------------------------------------------------------------
// 函数原形:void delay(unsigned long d)
// 功能描述:延时数量为 d 个指令周期。
// 参数说明:unsigned long d,将要延时的时间数。
// 返回值:无
//-----------------------------------------------------------------------------------------------------------------------------
void delay(unsigned long d)
{
  for(;d;d--);
}

//-----------------------------------------------------------------------------------------------------------------------------
// 函数原形:int main(void)
// 功能描述:主函数
// 参数说明:无
// 返回值:0
//-----------------------------------------------------------------------------------------------------------------------------
int main(void)
{
  unsigned char i=0;
  // 使能 SSI
  SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI);
  // 使能 GPIO A 口
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);

  // 配置 SSI
  SSIConfig(SSI_BASE, SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, BitRate, DataWidth);
  // 使能 SSI
  SSIEnable(SSI_BASE);
  // 设定 GPIO A 2~5 引脚为使用外设功能
  GPIODirModeSet(GPIO_PORTA_BASE, (GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 |
                 GPIO_PIN_5), GPIO_DIR_MODE_HW);
  while (1)
  {
    for (i=0; i<16; i++)
    {
      // 循环输出 0~F 的字模
      SSIDataPut(SSI_BASE, DISP_TAB[i]);
      delay(2000000);	      // 输出后延时一段时间
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -