XL2400P/Source/User/demo/inc/demo.h

125 lines
3.3 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef DEMO_H
#define DEMO_H
#include "type_define.h"
#include <board_cfg.h>
#include "hk32f030m.h"
#include "stdio.h"
/*----------------------------------------------------------------
IIC Configuration
*/
#define SOFT_IIC_ENABLED 1
#if (SOFT_IIC_ENABLED)
void IIC_SF_Init(void);
u8 IIC_SF_Send_Byte(u8 ord, u8 data);
u8 IIC_SF_Send(u8 ord, u8 *data, u32 len);
#endif
#define HW_IIC_ENABLED 0
/*----------------------------------------------------------------
SPI Configuration
*/
#define SPI_HW_ENABLED 1
#if (SPI_HW_ENABLED)
u8 SPI_HW_Send(u8 chr);
u8 SPI_HW_Transfer(u8 chr, u8 *data);
void SPI_HW_Init(void);
#endif
/*----------------------------------------------------------------
ST7735S Configuration
*/
#define ST7735S_ENABLED 1
#define ST7735S_SHOW_ASC16 1
#if(SPI_HW_ENABLED==0)
#error("ST7735 要开启spi")
#endif
#if ST7735S_ENABLED
void LCD_Init(void);
#if ST7735S_SHOW_ASC16
void LCD_ShowChar16(u32 x,u32 y,u8 chr,u16 bkcolor,u16 color);
u8 LCD_ShowString(u8 *chr,u16 bkcolor,u16 color);
u8 LCD_SetCharPos(u32 x,u32 y);
#endif
#endif
/*----------------------------------------------------------------
Flash Configuration
*/
u16 Flash_ReadID(void);
u8 Flash_Init(void);
/*----------------------------------------------------------------
uart configuration
*/
void USART_Config(void);
/*----------------------------------------------------------------
GPIO interface
*/
/**
* 推挽输出HAL_GPIO_Init(GPIOA, GPIO_Pin_1,GPIO_Mode_OUT,GPIO_PuPd_NOPULL,GPIO_OType_PP)
* 开漏输出: HAL_GPIO_Init(GPIOA, GPIO_Pin_1,GPIO_Mode_OUT,GPIO_PuPd_NOPULL,GPIO_OType_OD)
* 上拉输入HAL_GPIO_Init(GPIOA, GPIO_Pin_1,GPIO_Mode_IN,GPIO_PuPd_UP,GPIO_OType_OD)
* 下拉输入HAL_GPIO_Init(GPIOA, GPIO_Pin_1,GPIO_Mode_IN,GPIO_PuPd_DOWN,GPIO_OType_OD)
*/
void HAL_GPIO_Init(GPIO_TypeDef *port, u32 pin, u32 mode, u32 pull, u32 type);
// GPIO output
// port:GPIOA-GPIOD,pin:GPIO_Pin_0-GPIO_Pin_7
#define GPIO_OUT_H(port, pin) \
{ \
port->BSRR = pin; \
};
// port:GPIOA-GPIOD,pin:GPIO_Pin_0-GPIO_Pin_7
#define GPIO_OUT_L(port, pin) \
{ \
port->BRR = pin; \
};
// port:GPIOA-GPIOD,pin:GPIO_Pin_0-GPIO_Pin_7
#define GPIO_OUT_TOGGLE(port, pin) \
{ \
port->ODR ^= pin; \
}
// GPIO pull up and down
// port:GPIOA-GPIOD,pin:0-7
#define GPIO_PULL_UP(port, pin) \
{ \
port->PUPDR = 1 << (pin * 2) | port->PUPDR; \
}
// port:GPIOA-GPIOD,pin:0-7
#define GPIO_PULL_DOWN(port, pin) \
{ \
port->PUPDR = 2 << (pin * 2) | port->PUPDR; \
}
// port:GPIOA-GPIOD,pin:0-7
#define GPIO_PULL_NULL(port, pin) \
{ \
port->PUPDR = 0 << (pin * 2) | port->PUPDR; \
}
// port:GPIOA-GPIOD,pin:0-7
#define GPIO_READ(port, pin) ((port->IDR >> pin) & 1)
/*----------------------------------------------------------------
Bit
*/
#define Bit15 0x8000
#define Bit14 0x4000
#define Bit13 0x2000
#define Bit12 0x1000
#define Bit11 0x800
#define Bit10 0x400
#define Bit9 0x200
#define Bit8 0x100
#define Bit7 0x80
#define Bit6 0x40
#define Bit5 0x20
#define Bit4 0x10
#define Bit3 0x08
#define Bit2 0x04
#define Bit1 0x02
#define Bit0 0x01
#endif