📄 hpa449lib.h
字号:
#ifndef __HPA449LIB_H
#define __HPA449LIB_H
/*****************************************************************************
** [file]
** hpa449lib.h
** [Puropse]
** definitions and prototypes for functions specific to the HPA449
*/
#ifndef __msp430x44x
#include <msp430x44x.h>
#endif
#define __BUFFERED_SERIAL
#define LED_1 0x20
#define LED_2 0x80
#define LED_OUT P3OUT
#define LED_DIR P3DIR
#define SWITCH_2_BIT 0x40
void WaitForSwitch2();
// msp430x44x.h forgot to define the interrupt vectors for USART1
#ifndef USART1TX_VECTOR
#define USART1TX_VECTOR 04
#endif
#ifndef USART1RX_VECTOR
#define USART1RX_VECTOR 06
#endif
// define site codes
#define SITE_A 0
#define SITE_B 1
//----------------------------------------------------------------------------
// UART routines
void UART1_Init(unsigned int BaudRateDivider, unsigned char Modulator);
#ifdef __BUFFERED_SERIAL
extern volatile unsigned char nTXItems;
int SendByte(unsigned char);
int SendBytes(unsigned char *, unsigned char);
int SendString(char *);
#endif
//----------------------------------------------------------------------------
// SPI routines
void SPI_Init(unsigned int BaudRateDivider);
void SPI_SendByte(unsigned char Byte2Send);
unsigned char SPI_ReadByte(void);
unsigned char SPI_ReadByteWait(void);
unsigned char SPI_ReceiveByte(void);
unsigned char SPI_TransferByte(unsigned char Byte2Send);
//----------------------------------------------------------------------------
// I2C routines
// site A
void I2C_A_Init(void);
void I2C_A_Wait(void);
void I2C_A_Start(void);
void I2C_A_Stop(void);
int I2C_A_SendByte(unsigned char byte);
unsigned char I2C_A_ReceiveByte(int fAck);
// site B
void I2C_B_Init(void);
void I2C_B_Wait(void);
void I2C_B_Start(void);
void I2C_B_Stop(void);
int I2C_B_SendByte(unsigned char byte);
unsigned char I2C_B_ReceiveByte(int fAck);
extern void (*I2C_StartFcn)();
extern void (*I2C_StopFcn)();
extern int (*I2C_SendByteFcn)(unsigned char);
extern unsigned char (*I2C_ReceiveByteFcn)(int);
int I2C_SetSite(int SiteCode);
void I2C_Init();
#define I2C_Wait() (*I2C_WaitFCN)();
#define I2C_Start() (*I2C_StartFcn)();
#define I2C_Stop() (*I2C_StopFcn)();
#define I2C_SendByte(byte) (*I2C_SendByteFcn)(byte);
#define I2C_ReceiveByte(fAck) (*I2C_ReceiveByteFcn)(fAck);
//----------------------------------------------------------------------------
// PCF8574A port extender
int WriteExpandedGPIO (int PortExtenderAddress, int Value);
int ReadExpandedGPIO (int PortExpanderAddress, unsigned char *Value);
//----------------------------------------------------------------------------
// utility functions
static void __inline__ Pause(register unsigned int n)
{
__asm__ __volatile__ (
"1: \n"
" dec %[n] \n"
" jne 1b \n"
: [n] "+r"(n));
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -