#ifndef DEMO_H #define DEMO_H #include "type_define.h" #include #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); void LCD_ShowPic(u8 *pic, u16 bkcolor, u16 color); #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) void EEPROM_WriteByte(uint32_t offset, uint8_t data_in); void EERPOM_ReadByte(uint32_t offset,uint8_t *data_out); /*---------------------------------------------------------------- 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