- static void MX_GPIO_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- /* USER CODE BEGIN MX_GPIO_Init_1 */
- /* USER CODE END MX_GPIO_Init_1 */
- /* GPIO Ports Clock Enable */
- __HAL_RCC_GPIOB_CLK_ENABLE();
- /*Configure GPIO pin Output Level */
-
- /*Configure GPIO pins : SDA_Pin SCL_Pin */
- GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH ;
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
-
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8|GPIO_PIN_9, GPIO_PIN_RESET);
- /* USER CODE BEGIN MX_GPIO_Init_2 */
- /* USER CODE END MX_GPIO_Init_2 */
- }
GPIO操作:
- #define OLED_SCLK_Clr() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//RESET重置的意思 // GPIO_ResetBits(GPIOB,GPIO_Pin_10)//SCL
- #define OLED_SCLK_Set() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//RESET重置的意思 GPIO_SetBits(GPIOB,GPIO_Pin_10)
- #define OLED_SDIN_Clr() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET);//GPIO_ResetBits(GPIOB,GPIO_Pin_11)//SDA
- #define OLED_SDIN_Set() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);//GPIO_SetBits(GPIOB,GPIO_Pin_11)
main
- void SystemClock_Config(void);
- static void MX_GPIO_Init(void);
- /* USER CODE BEGIN PFP */
- /* USER CODE END PFP */
- /* Private user code ---------------------------------------------------------*/
- /* USER CODE BEGIN 0 */
- /* USER CODE END 0 */
- /**
- * [url=home.php?mod=space&uid=247401]@brief[/url] The application entry point.
- * @retval int
- */
- int main(void)
- {
- u8 t;
- HAL_Init();
- SystemClock_Config();
- MX_GPIO_Init();
- HAL_Delay(100);
- OLED_Init(); //初始化OLED
- HAL_Delay(100);
- OLED_Clear() ;
-
- t=' ';
- OLED_ShowCHinese(0,0,0);//
- OLED_ShowCHinese(18,0,1);//
- OLED_ShowCHinese(36,0,2);//
- OLED_ShowCHinese(54,0,3);//
- OLED_ShowCHinese(72,0,4);//
- OLED_ShowCHinese(90,0,5);//
- OLED_ShowCHinese(108,0,6);//
-
- while (1)
- {
- OLED_Clear();
- OLED_ShowCHinese(0,0,0);//
- OLED_ShowCHinese(18,0,1);//
- OLED_ShowCHinese(36,0,2);//
- OLED_ShowCHinese(54,0,3);//
- OLED_ShowCHinese(72,0,4);//
- OLED_ShowCHinese(90,0,5);//
- OLED_ShowCHinese(108,0,6);//
- OLED_ShowString(6,3,"I LOVE 21IC TOO",16);
- //OLED_ShowString(8,2,"ZHONGJINGYUAN");
- // OLED_ShowString(20,4,"2014/05/01");
- OLED_ShowString(0,6,"ASCII:",16);
- OLED_ShowString(63,6,"CODE:",16);
- OLED_ShowChar(48,6,t,16);//显示ASCII字符
- t++;
- if(t>'~')t=' ';
- OLED_ShowNum(103,6,t,3,16);//显示ASCII字符的码值
- HAL_Delay(300);
- HAL_Delay(300);
- HAL_Delay(300);
- HAL_Delay(300);
- HAL_Delay(300);
- OLED_DrawBMP(0,0,128,8,BMP1); //图片显示(图片显示慎用,生成的字表较大,会占用较多空间,FLASH空间8K以下慎用)
- HAL_Delay(300);
- HAL_Delay(300);
- HAL_Delay(300);
- HAL_Delay(300);
显示效果: