diff --git a/ssd1306.h b/ssd1306.h --- a/ssd1306.h +++ b/ssd1306.h @@ -1,6 +1,22 @@ #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_DrawString(const char *dataPtr, unsigned char row, unsigned char xPos);