📄 lib_pio.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 + -