104 lines
4.5 KiB
C
104 lines
4.5 KiB
C
#ifndef _OLED2_H
|
||
#define _OLED2_H
|
||
|
||
#define SSD1306_I2C_ADDR 0x78
|
||
|
||
#define MAX_COLUMN 128
|
||
#define MAX_ROW 64
|
||
|
||
extern char oled_p;
|
||
extern char oled_s[2];
|
||
extern char oled_s_motorok[2];
|
||
extern char oled_s_magnetok[2];
|
||
extern char oled_en;
|
||
extern unsigned int step_temp[2];
|
||
extern char run_mode_temp[2];
|
||
extern int direc_temp[2];
|
||
extern char magnet_select[2];
|
||
extern char magnet_s_ok[2];
|
||
extern char magnet_motor_sw;
|
||
|
||
extern char disp_new;
|
||
|
||
void OLED2_Send(unsigned char *data, unsigned char len);
|
||
void OLED2_Init(void);
|
||
void OLED_DisplayTest(void);
|
||
void OLED_MenuTest(void);
|
||
void OLED_ShowCN(unsigned char x,unsigned char y,unsigned char index,unsigned char color);
|
||
void OLED_ShowString(unsigned char x,unsigned char y,char *str,unsigned char Char_Size,unsigned char color);
|
||
void OLED_ShowChar(unsigned char x,unsigned char y,unsigned char chr,unsigned char Char_Size,unsigned char color);
|
||
void OLED_Clear(void) ;
|
||
void OLED_DisplayOff(void);
|
||
void OLED_DisplayOn(void);
|
||
void OLED_SetPos(unsigned char x, unsigned char y);
|
||
void SSD1306_WriteData(unsigned char data);
|
||
void SSD1306_WriteCmd(unsigned char cmd);
|
||
|
||
void OLED_Menu_New(void);
|
||
|
||
/*******************************************ģ<><C4A3>I2C***********************************************************/
|
||
#include <inttypes.h>
|
||
#include "main.h"
|
||
|
||
#define BSP_I2C_WR 0 /* д<><D0B4><EFBFBD><EFBFBD>bit */
|
||
#define BSP_I2C_RD 1 /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bit */
|
||
|
||
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>GPIO<49>˿<EFBFBD>ʱ<EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD> */
|
||
|
||
#define I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
|
||
#define I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
|
||
|
||
/* <20><><EFBFBD><EFBFBD>I2C<32><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>GPIO<49>˿<EFBFBD>, <20>û<EFBFBD>ֻ<EFBFBD><D6BB>Ҫ<EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD>д<EFBFBD><D0B4>뼴<EFBFBD><EBBCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>SCL<43><4C>SDA<44><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||
#define BSP_GPIO_PORT_I2C GPIOB /* GPIO<49>˿<EFBFBD> */
|
||
#define BSP_I2C_SCL_PIN GPIO_PIN_6 /* <20><><EFBFBD>ӵ<EFBFBD>SCLʱ<4C><CAB1><EFBFBD>ߵ<EFBFBD>GPIO */
|
||
#define BSP_I2C_SDA_PIN GPIO_PIN_7 /* <20><><EFBFBD>ӵ<EFBFBD>SDA<44><41><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>GPIO */
|
||
|
||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дSCL<43><4C>SDA<44>ĺ꣬<C4BA><EAA3AC><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>ֲ<EFBFBD>ԺͿ<D4BA><CDBF>Ķ<EFBFBD><C4B6><EFBFBD> */
|
||
//#if 0 /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺 1 ѡ<><D1A1>GPIO<49>Ŀ⺯<C4BF><E2BAAF>ʵ<EFBFBD><CAB5>IO<49><4F>д */
|
||
//#define BSP_I2C_SCL_1() digitalH(BSP_GPIO_PORT_I2C, BSP_I2C_SCL_PIN) /* SCL = 1 */
|
||
//#define BSP_I2C_SCL_0() digitalL(BSP_GPIO_PORT_I2C, BSP_I2C_SCL_PIN) /* SCL = 0 */
|
||
|
||
//#define BSP_I2C_SDA_1() digitalH(BSP_GPIO_PORT_I2C, BSP_I2C_SDA_PIN) /* SDA = 1 */
|
||
//#define BSP_I2C_SDA_0() digitalL(BSP_GPIO_PORT_I2C, BSP_I2C_SDA_PIN) /* SDA = 0 */
|
||
//
|
||
// //#define BSP_I2C_SDA_READ() GPIO_ReadInputDataBit(BSP_GPIO_PORT_I2C, BSP_I2C_SDA_PIN) /* <20><>SDA<44><41><EFBFBD><EFBFBD>״̬ */
|
||
//#define BSP_I2C_SDA_READ() ((BSP_GPIO_PORT_I2C->IDR & BSP_I2C_SDA_PIN) != 0) /* <20><>SDA<44><41><EFBFBD><EFBFBD>״̬ */
|
||
|
||
//#else /* <20><><EFBFBD><EFBFBD><EFBFBD>֧ѡ<D6A7><D1A1>ֱ<EFBFBD>ӼĴ<D3BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>IO<49><4F>д */
|
||
/*<2A><>ע<EFBFBD>⣺<EFBFBD><E2A3BA><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IAR<41><52><EFBFBD><DFBC><EFBFBD><EFBFBD>Ż<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ᱻ<EFBFBD><E1B1BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD> */
|
||
#define BSP_I2C_SCL_1() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_SET) //BSP_GPIO_PORT_I2C->BSRR = (uint32_t)BSP_I2C_SCL_PIN /* SCL = 1 */
|
||
#define BSP_I2C_SCL_0() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_RESET) //BSP_GPIO_PORT_I2C->BSRR = (uint32_t)BSP_I2C_SCL_PIN << 16U /* SCL = 0 */
|
||
|
||
#define BSP_I2C_SDA_1() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_SET) //BSP_GPIO_PORT_I2C->BSRR = (uint32_t)BSP_I2C_SDA_PIN /* SDA = 1 */
|
||
#define BSP_I2C_SDA_0() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET) //BSP_GPIO_PORT_I2C->BSRR = (uint32_t)BSP_I2C_SDA_PIN << 16U /* SDA = 0 */
|
||
|
||
#define BSP_I2C_SDA_READ() HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_7) //((BSP_GPIO_PORT_I2C->IDR & BSP_I2C_SDA_PIN) != 0) /* <20><>SDA<44><41><EFBFBD><EFBFBD>״̬ */
|
||
//#endif
|
||
|
||
///* ֱ<>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO */
|
||
//#define digitalH(p, i) \
|
||
// { \
|
||
// p->BSRR = i; \
|
||
// } // <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ߵ<EFBFBD>ƽ
|
||
//#define digitalL(p, i) \
|
||
// { \
|
||
// p->BSRR = (uint32_t)i << 16; \
|
||
// } // <20><><EFBFBD><EFBFBD>͵<EFBFBD>ƽ
|
||
|
||
void i2c_CfgGpio(void);
|
||
void i2c_Start(void);
|
||
void i2c_Stop(void);
|
||
void i2c_SendByte(uint8_t _ucByte);
|
||
uint8_t i2c_ReadByte(void);
|
||
uint8_t i2c_WaitAck(void);
|
||
void i2c_Ack(void);
|
||
void i2c_NAck(void);
|
||
|
||
|
||
|
||
|
||
|
||
/*******************************************ģ<><C4A3>I2C***********************************************************/
|
||
#endif
|
||
|