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

📄 iar-

📁 IAR_example_EasyARM8962.zip
💻
📖 第 1 页 / 共 2 页
字号:
/****************************************Copyright (c)****************************************************
**                            Guangzhou ZHIYUAN electronics Co.,LTD.
**                                      
**                                 http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:               spi_t_r_reg.c
** Latest modified Date:    2007.09.16
** Latest Version:          v1.0
** Descriptions:            通过 SSI 接口循环向外输出 0~F 的字模,74HC595 接收到 SSI 信号以后
**                          在八段数码管上显示相应的字符。
**
**--------------------------------------------------------------------------------------------------------
** Created by:              Zhao shimin
** Created date:            2007.09.16
** Version:                 v1.0
** Descriptions:            The original version
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             Kang qinhua
** Modified date:           2008.01.13
** Version:                 v1.1
** Descriptions:            
**
*********************************************************************************************************/
#define HWREG(x)		        (*((volatile unsigned long *)(x)))
#define SYSCTL_PERIPH_SSI       0x10000010                              /*  SSI 在系统控制器中的地址    */
#define SYSCTL_PERIPH_GPIOA     0x20000001                              /*  GPIO A 在系统控制器中的地址 */
#define SYSCTL_PERIPH_GPIOB     0x20000002 
#define SYSCTL_RCGC1            0x400fe104                              /*  运行模式时钟门控寄存器 1    */
#define SYSCTL_RCGC2            0x400fe108                              /*  运行模式时钟门控寄存器 2    */
#define SYSCTL_RCC              0x400fe060                              /*  运行-模式时钟配置寄存器     */
#define SYSCTL_PLLCFG           0x400fe064                              /*  XTAL-PLL转换寄存器          */

#define SYSCTL_RCC_XTAL_MASK    0x000003C0                              /*  Crystal attached to main osc*/

#define SYSCTL_RCC_OSCSRC_MASK  0x00000030                              /*  振荡器相关的位              */
#define SYSCTL_RCC_OSCSRC_MAIN  0x00000000                              /*  使用主振荡器                */
#define SYSCTL_RCC_OSCSRC_INT   0x00000010                              /*  使用内部振荡器              */
#define SYSCTL_RCC_OSCSRC_INT4  0x00000020                              /*  内部振荡器 / 4              */
#define SYSCTL_RCC_XTAL_SHIFT   6                                       /*  移位到振荡器的相关位        */
#define SYSCTL_RCC_XTAL_3_57MHZ 0x00000100                              /*  使用3.579545MHz 晶振        */
#define SYSCTL_RCC_BYPASS       0x00000800                              /*  PLL旁路                     */
#define SYSCTL_RCC_USE_SYSDIV   0x00400000                              /*  使用系统时钟除数            */
#define SYSCTL_RCC_SYSDIV_MASK  0x07800000                              /*  系统时钟除数                */
#define SYSCTL_RCC_SYSDIV_SHIFT 23                                      /*  移位到系统时钟除数的相关位  */

#define SYSCTL_PLLCFG_OD_MASK   0x0000C000                              /*  输出除数                    */
#define SYSCTL_PLLCFG_OD_1      0x00000000                              /*  OD值   1                    */
#define SYSCTL_PLLCFG_OD_2      0x00004000                              /* 		   2                    */
#define SYSCTL_PLLCFG_OD_4      0x00008000                              /*         4                    */
#define SYSCTL_PLLCFG_F_MASK    0x00003FE0                              /*  F输入值                     */
#define SYSCTL_PLLCFG_R_MASK    0x0000001F                              /*  R输入值                     */
#define SYSCTL_PLLCFG_F_SHIFT   5                                       /*  移位到F的相关位             */
#define SYSCTL_PLLCFG_R_SHIFT   0                                       /*  移位到R的相关位             */
	
#define SSI_BASE                0x40008000                              /*  SSI 基地址                  */
#define SSI_O_CR0               0x00000000                              /*  SSI 控制寄存器0             */
#define SSI_O_CR1               0x00000004                              /*  SSI 控制寄存器1             */
#define SSI_O_DR                0x00000008                              /*  SSI 数据寄存器              */
#define SSI_O_SR                0x0000000C                              /*  SSI 状态寄存器              */
#define SSI_O_CPSR              0x00000010                              /*  SSI 时钟分频寄存器          */
#define SSI_MODE_MASTER         0x00000000                              /*  SSI 主模式                  */
#define SSI_FRF_MOTO_MODE_0     0x00000000                              /*  Moto 帧格式,极性0,相位0   */
#define SSI_CR0_FRF_MASK        0x00000030                              /*  帧格式屏蔽                  */
#define SSI_CR1_SSE             0x00000002                              /*  同步端口使能                */
#define SSI_SR_TNF              0x00000002                              /*  TX FIFO未满                 */
#define SSI_SR_RNE              0x00000004                              /*  RX FIFO 未满                */

#define GPIO_PORTA_BASE         0x40004000                              /*  GPIO A 端口基地址           */
#define GPIO_PORTB_BASE         0x40005000                              /*  GPIO B 端口基地址           */
#define GPIO_PIN_0              0x00000001
#define GPIO_PIN_1              0x00000002
#define GPIO_PIN_2              0x00000004                              /*  GPIO 引脚 2                 */
#define GPIO_PIN_3              0x00000008                              /*  GPIO 引脚 3                 */
#define GPIO_PIN_4              0x00000010                              /*  GPIO 引脚 4                 */
#define GPIO_PIN_5              0x00000020                              /*  GPIO 引脚 5                 */
#define GPIO_O_AFSEL            0x00000420                              /*  模式控制选择寄存器          */
#define GPIO_O_ODR              0x0000050C                              /*  开漏选择寄存器              */
#define GPIO_O_DEN              0x0000051C                              /*  数字输入使能寄存器          */
#define GPIO_O_PUR              0x00000510                              /*  上拉选择寄存器       */
#define GPIO_O_DR2R             0x00000500                              /*  2mA驱动选择寄存器           */
#define GPIO_O_DIR              0x00000400
#define GPIO_O_DATA             0x00000000

#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};

const unsigned long g_pulXtals[] =
{
    3579545,
    3686400,
    4000000,
    4096000,
    4915200,
    5000000,
    5120000,
    6000000,
    6144000,
    7372800,
    8000000,
    8192000
};
/*********************************************************************************************************
** Function name:           delay
**
** Descriptions:            延时函数,输入参数越大,延时时间越长
**
** input parameters:        uld    延时时间值
** output parameters:       NONE
**                          
** Returned value:          NONE
**
** Created by:              Zhao shimin
** Created Date:            2007/09/16
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void delay (unsigned long uld)
{
    for(; uld; uld--);
}

/*********************************************************************************************************
** Function name:           SysCtlClockGet
**
** Descriptions:            获取系统时钟
**
** input parameters:        NONE
** output parameters:       NONE
**                          
** Returned value:          ulclk 时钟速率
**
** Created by:              Zhao shimin
** Created Date:            2007/09/16
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
unsigned long SysCtlClockGet (void)
{
    unsigned long ulRCC, ulPLL, ulClk;

    
    ulRCC = HWREG(SYSCTL_RCC);                                          /*  读RCC               */

    

⌨️ 快捷键说明

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