#ifndef ssd1306_H #define ssd1306_H #define SSD_RESET GPIOB,GPIO_Pin_2 #define SSD_A0 GPIOB,GPIO_Pin_10 #define SSD_CS GPIOB,GPIO_Pin_1 #define SSD_Reset_Low() GPIO_ResetBits(SSD_RESET) #define SSD_Reset_High() GPIO_SetBits(SSD_RESET) #define SSD_A0_Low() GPIO_ResetBits(SSD_A0) #define SSD_A0_High() GPIO_SetBits(SSD_A0) #define SSD_CS_Low() GPIO_ResetBits(SSD_CS) #define SSD_CS_High() GPIO_SetBits(SSD_CS) // Use stdperiph #define SPI_SendByte(data) SPI_I2S_SendData(SPI1,data) #define SPI_Wait() while(!(SPI1->SR&SPI_I2S_FLAG_TXE));while(SPI1->SR&SPI_I2S_FLAG_BSY); void ssd1306_Init(void); void ssd1306_DrawChar(char ascii, unsigned char row, unsigned char xPos); void ssd1306_DrawCharBig(char ascii, unsigned char row, unsigned char xPos); void ssd1306_DrawString(const char *dataPtr, unsigned char row, unsigned char xPos); void ssd1306_DrawStringBig(const char *dataPtr, unsigned char row, unsigned char xPos); void ssd1306_drawlogo(); void ssd1306_clearscreen(); #endif // vim:softtabstop=4 shiftwidth=4 expandtab