- /********************************** (C) COPYRIGHT *******************************
- * File Name : main.c
- * Author : WCH
- * Version : V1.0.0
- * Date : 2021/06/06
- * Description : Main program body.
- * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
- * SPDX-License-Identifier: Apache-2.0
- *******************************************************************************/
- /*
- *@Note
- GPIO例程:
- PA0推挽输出。
- */
- #include "debug.h"
- #include "u8g2.h"
- /* Global define */
- void delay_us(uint32_t time);
- uint8_t CH32_gpio_and_delay(u8x8_t* u8x8, uint8_t msg, uint8_t arg_int, void* arg_ptr);
- /* Global Variable */
- #define SCL_Pin GPIO_Pin_6
- #define SDA_Pin GPIO_Pin_7
- //爱心眼睛
- const static unsigned char FACE_Love[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xF8, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x3F, 0x00, 0x00,
- 0x00, 0xFE, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
- 0x80, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00,
- 0xC0, 0x07, 0x00, 0x00, 0x1F, 0x00, 0xE0, 0x03, 0x00, 0xC0, 0x07, 0x00,
- 0xE0, 0x01, 0x00, 0x00, 0x3C, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x00,
- 0xE0, 0x00, 0x00, 0x00, 0x38, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x38, 0x00, 0x00, 0x00, 0x1C, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0xE0, 0x07, 0x3F, 0xE0, 0x00, 0x0C, 0xF0, 0x81, 0x0F, 0x30, 0x00,
- 0x38, 0xF0, 0x8B, 0x5F, 0xE0, 0x00, 0x0C, 0xF8, 0xC2, 0x1F, 0x30, 0x00,
- 0x38, 0xF8, 0xD7, 0xBF, 0xE0, 0x00, 0x0C, 0xFC, 0xE5, 0x2F, 0x30, 0x00,
- 0x38, 0xF8, 0xFF, 0xBF, 0xE0, 0x00, 0x0C, 0xFE, 0xFF, 0x5F, 0x30, 0x00,
- 0x38, 0xFC, 0xFF, 0x7F, 0xE0, 0x00, 0x0C, 0xFE, 0xFF, 0x5F, 0x30, 0x00,
- 0x38, 0xFC, 0xFF, 0xFF, 0xE1, 0x00, 0x0C, 0xFE, 0xFF, 0x7F, 0x30, 0x00,
- 0x38, 0xFC, 0xFF, 0xFF, 0xE1, 0x00, 0x0C, 0xFE, 0xFF, 0x7F, 0x30, 0x00,
- 0x38, 0xFC, 0xFF, 0xFF, 0xE1, 0x00, 0x0C, 0xFE, 0xFF, 0x7F, 0x30, 0x00,
- 0x38, 0xF8, 0xFF, 0xFF, 0xE0, 0x00, 0x0C, 0xFE, 0xFF, 0x7F, 0x30, 0x00,
- 0x38, 0xF8, 0xFF, 0xFF, 0xE0, 0x00, 0x0C, 0xFE, 0xFF, 0x7F, 0x30, 0x00,
- 0x38, 0xF8, 0xFF, 0xFF, 0xE0, 0x00, 0x0C, 0xFC, 0xFF, 0x3F, 0x30, 0x00,
- 0x38, 0xF0, 0xFF, 0x7F, 0xE0, 0x00, 0x0C, 0xF8, 0xFF, 0x1F, 0x30, 0x00,
- 0x38, 0xC0, 0xFF, 0x1F, 0xE0, 0x00, 0x0C, 0xF0, 0xFF, 0x0F, 0x30, 0x00,
- 0x38, 0x80, 0xFF, 0x0F, 0xE0, 0x00, 0x0C, 0xE0, 0xFF, 0x07, 0x30, 0x00,
- 0x38, 0x00, 0xFF, 0x07, 0xE0, 0x00, 0x0C, 0xC0, 0xFF, 0x03, 0x30, 0x00,
- 0x38, 0x00, 0xFE, 0x03, 0xE0, 0x00, 0x0C, 0x80, 0xFF, 0x01, 0x30, 0x00,
- 0x38, 0x00, 0xFC, 0x01, 0xE0, 0x00, 0x0C, 0x00, 0x7E, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0xF8, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x3C, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x70, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x20, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3C, 0x00,
- 0xF0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x38, 0x00, 0x00, 0x00, 0x1C, 0x00,
- 0xE0, 0x01, 0x00, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00,
- 0xC0, 0x03, 0x00, 0x00, 0x1E, 0x00, 0xF0, 0x01, 0x00, 0x80, 0x0F, 0x00,
- 0x80, 0x1F, 0x00, 0xC0, 0x0F, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x07, 0x00,
- 0x00, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00,
- 0x00, 0xFC, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- //睁眼
- const static unsigned char FACE_Neutral[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xF8, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x3F, 0x00, 0x00,
- 0x00, 0xFE, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
- 0x80, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00,
- 0xC0, 0x07, 0x00, 0x00, 0x1F, 0x00, 0xE0, 0x03, 0x00, 0xC0, 0x07, 0x00,
- 0xE0, 0x01, 0x00, 0x00, 0x3C, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x00,
- 0xE0, 0x00, 0x00, 0x00, 0x38, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x38, 0x00, 0x00, 0x00, 0x1C, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x84, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x41, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x70, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x38, 0x01, 0x30, 0x00,
- 0x38, 0x00, 0xFC, 0x01, 0xE0, 0x00, 0x0C, 0x00, 0x7F, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0xFE, 0x03, 0xE0, 0x00, 0x0C, 0xA0, 0xFF, 0x05, 0x30, 0x00,
- 0x38, 0x00, 0x7F, 0x06, 0xE0, 0x00, 0x0C, 0x80, 0x3F, 0x01, 0x30, 0x00,
- 0x38, 0x40, 0x7F, 0x17, 0xE0, 0x00, 0x0C, 0xC0, 0xDF, 0x03, 0x30, 0x00,
- 0x38, 0x80, 0xFF, 0x0F, 0xE0, 0x00, 0x0C, 0xD0, 0xFF, 0x0B, 0x30, 0x00,
- 0x38, 0x80, 0xFF, 0x0F, 0xE0, 0x00, 0x0C, 0xC0, 0xFF, 0x03, 0x30, 0x00,
- 0x38, 0x80, 0xFF, 0x0F, 0xE0, 0x00, 0x0C, 0xD0, 0xFF, 0x0B, 0x30, 0x00,
- 0x38, 0x00, 0xFF, 0x07, 0xE0, 0x00, 0x0C, 0xC0, 0xFF, 0x03, 0x30, 0x00,
- 0x38, 0x40, 0xFF, 0x17, 0xE0, 0x00, 0x0C, 0x80, 0xFF, 0x01, 0x30, 0x00,
- 0x38, 0x00, 0xFE, 0x03, 0xE0, 0x00, 0x0C, 0xA0, 0xFF, 0x05, 0x30, 0x00,
- 0x38, 0x00, 0xFC, 0x01, 0xE0, 0x00, 0x0C, 0x00, 0xFF, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x70, 0x00, 0xE0, 0x00, 0x0C, 0x80, 0x3C, 0x01, 0x30, 0x00,
- 0x38, 0x00, 0x84, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x42, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3C, 0x00,
- 0xF0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x38, 0x00, 0x00, 0x00, 0x1C, 0x00,
- 0xE0, 0x01, 0x00, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00,
- 0xC0, 0x03, 0x00, 0x00, 0x1E, 0x00, 0xF0, 0x01, 0x00, 0x80, 0x0F, 0x00,
- 0x80, 0x1F, 0x00, 0xC0, 0x0F, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x07, 0x00,
- 0x00, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00,
- 0x00, 0xFC, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- //闭眼
- const static unsigned char FACE_Tired_middle[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xF8, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x3F, 0x00, 0x00,
- 0x00, 0xFE, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
- 0x80, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00,
- 0xC0, 0x07, 0x00, 0x00, 0x1F, 0x00, 0xE0, 0x03, 0x00, 0xC0, 0x07, 0x00,
- 0xE0, 0x01, 0x00, 0x00, 0x3C, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x00,
- 0xE0, 0x00, 0x00, 0x00, 0x38, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x38, 0x00, 0x00, 0x00, 0x1C, 0x00,
- 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x38, 0x00,
- 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F, 0x00,
- 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F, 0x00,
- 0x38, 0x40, 0xFF, 0x17, 0xE0, 0x00, 0x1C, 0xD0, 0xDF, 0x0B, 0x38, 0x00,
- 0x38, 0x80, 0xFF, 0x0F, 0xE0, 0x00, 0x0C, 0xC0, 0xFF, 0x0B, 0x30, 0x00,
- 0x38, 0x80, 0xFF, 0x0F, 0xE0, 0x00, 0x0C, 0xD0, 0xFF, 0x03, 0x30, 0x00,
- 0x38, 0x80, 0xFF, 0x0F, 0xE0, 0x00, 0x0C, 0xD0, 0xFF, 0x0B, 0x30, 0x00,
- 0x38, 0x00, 0xFF, 0x07, 0xE0, 0x00, 0x0C, 0xC0, 0xFF, 0x03, 0x30, 0x00,
- 0x38, 0x40, 0xFF, 0x17, 0xE0, 0x00, 0x0C, 0x80, 0xFF, 0x01, 0x30, 0x00,
- 0x38, 0x00, 0xFE, 0x03, 0xE0, 0x00, 0x1C, 0xA0, 0xFF, 0x05, 0x38, 0x00,
- 0x70, 0x00, 0xFC, 0x01, 0x70, 0x00, 0x1C, 0x00, 0xFF, 0x00, 0x38, 0x00,
- 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x3C, 0x80, 0x3C, 0x01, 0x3C, 0x00,
- 0xF0, 0x00, 0x84, 0x00, 0x78, 0x00, 0x38, 0x00, 0x42, 0x00, 0x1C, 0x00,
- 0xE0, 0x01, 0x00, 0x00, 0x3C, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00,
- 0xC0, 0x03, 0x00, 0x00, 0x1E, 0x00, 0xF0, 0x01, 0x00, 0x80, 0x0F, 0x00,
- 0x80, 0x1F, 0x00, 0xC0, 0x0F, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x07, 0x00,
- 0x00, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00,
- 0x00, 0xFC, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- #define bitmap_width 64
- #define bitmap_height 16
- static unsigned char bitmap[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0xE0, 0xFF, 0x0F, 0x80, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0xFF, 0x8F, 0x83, 0xFE, 0x3F, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x38, 0xE3, 0x8D,
- 0x83, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
- 0x0F, 0x38, 0xE3, 0x8D, 0x83, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0xE3, 0x9D, 0xC3, 0x80, 0x3F, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0xFF, 0x9D,
- 0xC3, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFF, 0x18, 0xC3, 0x8E, 0x38, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x02, 0x0E, 0x1C, 0xE0, 0x1F, 0xC3, 0x8E, 0x38, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x1C, 0xE0, 0x1F,
- 0xC3, 0x8E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x0F, 0xFC, 0xE0, 0x38, 0xE3, 0xFC, 0x3F, 0x84, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0xE0, 0x38, 0xE0, 0xF8, 0x3F, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
- 0x00, 0x00, 0x03, 0x87, 0x39, 0xC7, 0x1F, 0x07, 0xF8, 0x7E, 0x3F, 0x83,
- 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x39, 0xC7, 0x1F, 0x07,
- 0xFC, 0x7E, 0x3F, 0xC7, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87,
- 0xB9, 0xC7, 0x1B, 0x07, 0x1C, 0x70, 0x39, 0xC7, 0x1C, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x03, 0x87, 0xB8, 0xEE, 0x1B, 0x07, 0x1C, 0x70, 0x39, 0xC7,
- 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0xB8, 0xEE, 0x3B, 0x87,
- 0x1C, 0x7E, 0x3F, 0xC3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87,
- 0xF8, 0xEE, 0x3B, 0x87, 0x1C, 0x7E, 0x3F, 0x81, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x03, 0x87, 0x78, 0xEE, 0x31, 0x87, 0x1C, 0x70, 0x39, 0xC0,
- 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x78, 0xEE, 0x3F, 0x87,
- 0x1C, 0x70, 0x39, 0xC7, 0x0E, 0x00, 0x00, 0x08, 0x08, 0x00, 0x03, 0x87,
- 0x78, 0xEE, 0x3F, 0x87, 0x1C, 0x70, 0x39, 0xC7, 0x0E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x03, 0x87, 0x38, 0x7C, 0x71, 0xC7, 0xFC, 0x7F, 0x39, 0xC7,
- 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x87, 0x38, 0x7C, 0x71, 0xC7,
- 0xF8, 0x7F, 0x39, 0xC1, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x02, 0x08, 0x00, 0x00,
- 0x08, 0x20, 0x0F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0,
- 0x01, 0x10, 0x00, 0xE0, 0x04, 0x40, 0x1F, 0x80, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x80, 0x06, 0xD8, 0x03, 0xF8, 0x01, 0xF0, 0x0F, 0xE0, 0x36, 0xC0,
- 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF8, 0x07, 0xFC, 0x02, 0x48,
- 0x1F, 0xF0, 0x3F, 0xC0, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF8,
- 0x0E, 0xEE, 0x03, 0xF8, 0x3B, 0xB8, 0x3F, 0xC0, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x20, 0x0B, 0xFA, 0x01, 0x50, 0x2F, 0xE8, 0x09, 0x00,
- 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xD0, 0x09, 0x12, 0x02, 0xA8,
- 0x24, 0x48, 0x16, 0x80, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28,
- 0x03, 0x18, 0x00, 0x00, 0x0C, 0x60, 0x29, 0x40, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- /*********************************************************************
- * @fn GPIO_Toggle_INIT
- *
- * [url=home.php?mod=space&uid=2666770]@Brief[/url] Initializes GPIOA.0
- *
- * [url=home.php?mod=space&uid=1141835]@Return[/url] none
- */
- void GPIO_Toggle_INIT(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure = {0};
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
- GPIO_InitStructure.GPIO_Pin = SCL_Pin|SDA_Pin;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOB, &GPIO_InitStructure);
- }
- /*********************************************************************
- * @fn main
- *
- * @brief Main program.
- *
- * @return none
- */
- int main(void)
- {
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- Delay_Init();
- USART_Printf_Init(115200);
- printf("SystemClk:%drn", SystemCoreClock);
- printf("GPIO Toggle TESTrn");
- GPIO_Toggle_INIT();
- u8g2_t u8g2; // a structure which will contain all the data for one display
- u8g2_Setup_ssd1306_i2c_128x64_noname_f(&u8g2, U8G2_R0, u8x8_byte_sw_i2c, CH32_gpio_and_delay); // init u8g2 structure
- u8g2_InitDisplay(&u8g2); // send init sequence to the display, display is in
- // sleep mode after this,
- u8g2_SetPowerSave(&u8g2, 0);
- u8g2_FirstPage(&u8g2);
- do {
- u8g2_DrawXBMP(&u8g2, 20, 0, 89, 64, FACE_Neutral);
- } while (u8g2_NextPage(&u8g2));
- Delay_Ms(400);
- u8g2_FirstPage(&u8g2);
- do {
- u8g2_DrawXBMP(&u8g2, 20, 0, 89, 64, FACE_Tired_middle);
- } while (u8g2_NextPage(&u8g2));
- Delay_Ms(100);
- u8g2_FirstPage(&u8g2);
- do {
- u8g2_DrawXBMP(&u8g2, 20, 0, 89, 64, FACE_Neutral);
- } while (u8g2_NextPage(&u8g2));
- Delay_Ms(400);
- u8g2_FirstPage(&u8g2);
- do {
- u8g2_DrawXBMP(&u8g2, 20, 0, 89, 64, FACE_Tired_middle);
- } while (u8g2_NextPage(&u8g2));
- Delay_Ms(100);
- u8g2_FirstPage(&u8g2);
- do {
- u8g2_DrawXBMP(&u8g2, 20, 0, 89, 64, FACE_Neutral);
- } while (u8g2_NextPage(&u8g2));
- Delay_Ms(400);
- u8g2_FirstPage(&u8g2);
- do {
- u8g2_DrawXBMP(&u8g2, 20, 0, 89, 64, FACE_Love);
- } while (u8g2_NextPage(&u8g2));
- Delay_Ms(1000);
- u8g2_FirstPage(&u8g2);
- do {
- u8g2_ClearBuffer(&u8g2);
- u8g2_SetDrawColor(&u8g2, 1);
- u8g2_SetBitmapMode(&u8g2, 1);
- u8g2_DrawBitmap(&u8g2, 0, 0, bitmap_height, bitmap_width, bitmap);
- } while (u8g2_NextPage(&u8g2));
- while(1)
- {
- static int x = 30, y = 10;
- u8g2_ClearBuffer(&u8g2);
- // u8g2_SetFont(&u8g2, u8g2_font_wqy16_t_chinese1);
- u8g2_SetFont(&u8g2, u8g2_font_9x18B_mf);
- u8g2_DrawCircle(&u8g2, 64, 32, 30, U8G2_DRAW_ALL);
- u8g2_DrawCircle(&u8g2, 32, 32, 30, U8G2_DRAW_ALL);
- u8g2_DrawCircle(&u8g2, 96, 32, 30, U8G2_DRAW_ALL);
- u8g2_DrawStr(&u8g2, x, y, "liuzewen");
- if (x >= 70) {
- x = y = 0;
- } else {
- x++;
- y++;
- }
- u8g2_SendBuffer(&u8g2);
- }
- }
- /* USER CODE BEGIN 4 */
- void delay_us(uint32_t time)
- {
- uint32_t i = 8 * time;
- while (i--)
- ;
- }
- uint8_t CH32_gpio_and_delay(u8x8_t* u8x8, uint8_t msg, uint8_t arg_int, void* arg_ptr)
- {
- switch (msg) {
- case U8X8_MSG_DELAY_100NANO: // delay arg_int * 100 nano seconds
- __NOP();
- break;
- case U8X8_MSG_DELAY_10MICRO: // delay arg_int * 10 micro seconds
- for (uint16_t n = 0; n < 320; n++) {
- __NOP();
- }
- break;
- case U8X8_MSG_DELAY_MILLI: // delay arg_int * 1 milli second
- Delay_Ms(1);
- break;
- case U8X8_MSG_DELAY_I2C: // arg_int is the I2C speed in 100KHz, e.g. 4 =
- // 400 KHz
- delay_us(5);
- break; // arg_int=1: delay by 5us, arg_int = 4: delay by 1.25us
- case U8X8_MSG_GPIO_I2C_CLOCK: // arg_int=0: Output low at I2C clock pin
- if (arg_int == 1) // arg_int=1: Input dir with pullup high for I2C clock pin
- GPIO_WriteBit(GPIOB, SCL_Pin, 1);
- else if (arg_int == 0)
- GPIO_WriteBit(GPIOB, SCL_Pin, 0);
- break;
- case U8X8_MSG_GPIO_I2C_DATA: // arg_int=0: Output low at I2C data pin
- if (arg_int == 1) // arg_int=1: Input dir with pullup high for I2C data pin
- GPIO_WriteBit(GPIOB, SDA_Pin, 1);
- else if (arg_int == 0)
- GPIO_WriteBit(GPIOB, SDA_Pin, 0);
- break;
- case U8X8_MSG_GPIO_MENU_SELECT:
- u8x8_SetGPIOResult(u8x8, /* get menu select pin state */ 0);
- break;
- case U8X8_MSG_GPIO_MENU_NEXT:
- u8x8_SetGPIOResult(u8x8, /* get menu next pin state */ 0);
- break;
- case U8X8_MSG_GPIO_MENU_PREV:
- u8x8_SetGPIOResult(u8x8, /* get menu prev pin state */ 0);
- break;
- case U8X8_MSG_GPIO_MENU_HOME:
- u8x8_SetGPIOResult(u8x8, /* get menu home pin state */ 0);
- break;
- default:
- u8x8_SetGPIOResult(u8x8, 1); // default return value
- break;
- }
- return 1;
- }
复制代码 |