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

📄 lib_pio.h

📁 ARM9200开发板的ROM boot程序源码1.0
💻 H
字号:
//*----------------------------------------------------------------------------
//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name           : lib_pio.h
//* Object              : Parallel I/O Function Prototyping File.
//*
//* 1.0 01/04/00 JCZ    : Creation
//*----------------------------------------------------------------------------

#ifndef lib_pio_h
#define lib_pio_h

#include    "periph/pio/pio.h"
//#include    "periph/pio/pioa.h"
//#include    "periph/pio/piob.h"

//*-------------------------------------*/
//* PIO Controller Descriptor Structure */
//*-------------------------------------*/
typedef struct _AT91S_Pio2Desc
{
   AT91PS_PIO       pio_base ;         /* Base Address */
    u_char          periph_id ;         /* Peripheral Identifier */
    u_char          pio_number ;        /* Total Pin Number */
} AT91S_Pio2Desc, *AT91PS_Pio2Desc ;

//*-------------------
//* inlines functions
//*-------------------
__inline void at91_pio_per(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_PER = mask;
}

__inline void at91_pio_pdr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_PDR = mask;
}

__inline int at91_pio_psr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_PSR);
}

__inline void at91_pio_oer(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_OER = mask;
}

__inline void at91_pio_odr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_ODR = mask;
}

__inline int at91_pio_osr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_OSR);
}

__inline void at91_pio_ifer(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_IFER = mask;
}

__inline void at91_pio_ifdr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_IFDR = mask;
}

__inline int at91_pio_ifsr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_IFSR);
}

__inline void at91_pio_sodr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_SODR = mask;
}

__inline void at91_pio_codr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_CODR = mask;
}

__inline int at91_pio_odsr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_ODSR);
}

__inline int at91_pio_pdsr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_PDSR);
}


__inline void at91_pio_ier(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_IER = mask;
}

__inline void at91_pio_idr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_IDR = mask;
}

__inline int at91_pio_imr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_IMR);
}

__inline int at91_pio_isr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_ISR);
}


__inline void at91_pio_mder(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_MDER = mask;
}

__inline void at91_pio_mddr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_MDDR = mask;
}

__inline int at91_pio_mdsr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_MDSR);
}

__inline void at91_pio_ppuer(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_PPUER = mask;
}

__inline void at91_pio_ppudr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_PPUDR = mask;
}

__inline int at91_pio_ppusr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_PPUSR);
}


__inline void at91_pio_asr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_ASR = mask;
}

__inline void at91_pio_bsr(AT91PS_PIO pPIO, int mask)
{
	pPIO->PIO_BSR = mask;
}

__inline int at91_pio_absr(AT91PS_PIO pPIO)
{
	return(pPIO->PIO_ABSR);
}



//* Functions Prototyping */
extern void  at91_pio_open  ( const AT91PS_PIO , unsigned int , unsigned int ) ;
extern void  at91_pio_close ( const AT91PS_PIO , unsigned int ) ;
extern void  at91_pio_write ( const AT91PS_PIO , unsigned int , unsigned int ) ;
extern unsigned int at91_pio_read ( const AT91PS_APMC , const AT91PS_Pio2Desc ) ;
extern void  at91_pio_set_mode  ( const AT91PS_PIO, unsigned int , unsigned int ) ;
extern void at91_pio_set_periphmode ( const AT91PS_PIO, unsigned int , unsigned int);

#endif //* lib_pio_h */

⌨️ 快捷键说明

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