#include "stm32f10x_lib.h" #include "stm32f10x_spi.h" #define MAX7456_SPI SPI2//利用SPI2传输数据 #define MAX7456_SPICLK RCC_APB1Periph_SPI2 //spi2时钟 #define MAX7456_PCLK RCC_APB2Periph_GPIOB //spi数据与时钟控制口 #define MAX7456_SPI_PORT GPIOB #define MAX7456_SCK GPIO_Pin_13 #define MAX7456_MOSI GPIO_Pin_15 #define MAX7546_CS GPIO_Pin_12 #define MAX7456_MISO GPIO_Pin_14 //MAX7456写寄存器 #define RADD1 0X80 //对于<0x10写地址,在读的时候要加0X80 #define VM0 0X00 //视频模式0寄存器 #define VM1 0X01 //视频模式1寄存器 #define HOS 0X02 //水平位置寄存器 #define VOS 0X03 //垂直位置寄存器 #define DMM 0X04 //显示存储器模式寄存器 #define DMAH 0X05 //显示存储器地址高位寄存器 #define DMAL 0X06 //显示存储器地址低位寄存器 #define DMDI 0X07 //显示存储器数据输入寄存器 #define CMM 0X08 //字符存储器模式寄存器 #define CMAH 0X09 //字符存储器地址高位寄存器 #define CMAL 0X0A //字符存储器地址低位寄存器 #define CMDI 0X0B //字符存储器数据输入寄存器 #define OSDM 0X0C //OSD插入复用寄存器 #define RB 0X10 //第N行亮度寄存器,0-13 0-15 根据不同制式 0X10+RB0-15 #define OSDBL_W_ADD 0X6C //OSD黑电平寄存器 #define OSDBL_R_ADD 0XEC //读寄存器地址 #define STAT 0XA0 //状态寄存器(只读) 实际上可以读任何一个0XA0-AF #define DMDO 0XB0 //显示存储器输出寄存器(只读) #define CMMO 0XC0 //字符存储器输出寄存器(只读) void MAX7456_SYS_Init(void); u8 MAX7456_Read_Reg(u8 add); void MAX7456_Write_Char(u16 add,u8 chr); void MAX7456_WriteAtt_Char(u16 add,u8 attribute); void MAX7456_Write_Char_XY(u8 X,u8 Y,u8 chr); void MAX7456_WriteAtt_XY(u8 X,u8 Y,u8 chr); void MAX7456_Clear(void); void MAX7456_Write_ASCII_Chr(u8 X,u8 Y,u8 chr); void MAX7456_Write_ASCII_Char(u16 address, u8 c); void MAX7456_Write_ASCII_String(u8 X,u8 Y,u8 *Str); void Max7456_Learn_Char(u8 number, u8 *data); void Max7456_Write_CustomChar(void); void Max7456_Write_FileChar(void); void Max7456_Display_AllChar(void); void Max7456_Check_Custom(void);