#ifndef __OLED_H
#define __OLED_H			  	 

#include "stdlib.h"	   
#include "stm32f10x.h"

#define OLED_MODE 0
#define SIZE 8
#define XLevelL		0x00
#define XLevelH		0x10
#define Max_Column	128
#define Max_Row		64
#define	Brightness	0xFF 
#define X_WIDTH 	128
#define Y_WIDTH 	64	    						  
//-----------------OLED IIC�˿ڶ���----------------  					   
#define OLED_SDA_PIN GPIO_Pin_13
#define OLED_SCL_PIN GPIO_Pin_12
#define OLED_PORT 	 GPIOB
#define OLED_RCC 	   RCC_APB2Periph_GPIOB

#define OLED_SCLK_Clr() GPIO_ResetBits(OLED_PORT,OLED_SCL_PIN)//SCL
#define OLED_SCLK_Set() GPIO_SetBits(OLED_PORT,OLED_SCL_PIN)

#define OLED_SDIN_Clr() GPIO_ResetBits(OLED_PORT,OLED_SDA_PIN)//SDA
#define OLED_SDIN_Set() GPIO_SetBits(OLED_PORT,OLED_SDA_PIN)

 		     
#define OLED_CMD  0	//���
#define OLED_DATA 1	//���


//OLED�����ú���
void OLED_WR_Byte(unsigned dat,unsigned cmd);  
void OLED_Display_On(void);
void OLED_Display_Off(void);	   							   		    
void OLED_Init(void);//��ʼ��SSD1306		
void OLED_Clear(void);//��������,������,������Ļ�Ǻ�ɫ��!��û����һ��!!!	  
void OLED_DrawPoint(u8 x,u8 y,u8 t);
void OLED_Fill(u8 x1,u8 y1,u8 x2,u8 y2,u8 dot);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size);//��ָ��λ����ʾһ���ַ�,���������ַ�
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size);
void OLED_ShowString(u8 x,u8 y, u8 *p,u8 Char_Size);//��ʾһ���ַ��� 	 
void OLED_Set_Pos(unsigned char x, unsigned char y);
void OLED_ShowCHinese(u8 x,u8 y,u8 no);//��ʾ����
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
void fill_picture(unsigned char fill_Data);
void OLED_printf(char x,char y,char *format, ...);
void OLED_ShowText(u8 x,u8 y,char* str,u8 flag);
#endif