📄 test_nokia_7210_msp430_spi.c
字号:
/*------------------------------------------------------------------------------------ Nom : Test_Nokia_7210_MSP430_SPI.c Description : Test des fonctions de gestion LCD Nokia 7210 & 6100 Routines pour controleurs Epson S1D15G10 et Philips PCF8833 Utilisation du coupleur SPI Author : 24/03/2006 - CREMMEL Marcel History : 24/03/2006 - Premi鑢e version--------------------------------------------------------------------------------------*/#include <msp430x12x2.h>#include <stdio.h>#include <stdbool.h> //Pour le type "bool"#include <math.h>#include <stdlib.h> //Pour le type div_t/*------------------------------------------------------------------------------------ C鈈lage--------------------------------------------------------------------------------------*/// Connexions LCD Nokia#define Lcd_CE_Pin 0x01 // P3.0 = SCE#define Lcd_DIN_Pin 0x02 // P3.1 = SOMI = SDIN#define Lcd_RST_Pin 0x04 // P3.2 = RES#define Lcd_CLK_Pin 0x08 // P3.3 = UCLK = SCLK#define Type_Controler_Pin 0x10 //P3.4 = Type de controleur : "1" : Epson; "0" : Philips/*------------------------------------------------------------------------------------ Constantes--------------------------------------------------------------------------------------*//*------------------------------- Couleurs (palette 256 couleurs)---------------------------------*/#define Noir 0#define Blanc 255#define Bleu 3#define Rouge 7*32#define Vert 7*4/*--------------------------------------- Commandes du controleur EPSON S1D15G10----------------------------------------*/#define DISON 0xaf#define DISOFF 0xae#define DISNOR 0xa6#define DISINV 0xa7#define COMSCN 0xbb#define DISCTL 0xca#define SLPIN 0x95#define SLPOUT 0x94#define PASET 0x75#define CASET 0x15#define DATCTL 0xbc#define INV_Y 0x01#define INV_X 0x02#define WR_DIR 0x04#define RGBSET8 0xce#define RAMWR 0x5c#define RAMRD 0x5d#define PTLIN 0xa8#define PTLOUT 0xa9#define RMWIN 0xe0#define RMWOUT 0xee#define ASCSET 0xaa#define SCSTART 0xab#define OSCON 0xd1#define OSC_OFF 0xd2#define PWRCTR 0x20#define VOLCTR 0x81#define VOLUP 0xd6#define VOLDOWN 0xd7#define TMPGRD 0x82#define EPCTIN 0xcd#define EPCOUT 0xcc#define EPMWR 0xfc#define EPMRD 0xfd#define EPSRRD1 0x7c#define EPSRRD2 0x7d#define NOP 0x25/*--------------------------------------- Commandes du controleur Philips PCF8833---------------------------------------*/#define NO_OPERATION 0x00#define SOFT_RESET 0x01#define BOOSTER_OFF 0x02#define BOOSTER_ON 0x03#define DISPLAY_INFO 0x04 // read 25bits where MSB are dummy trash#define DISPLAY_STATUS 0x09 // read 33bits where MSB are dummy trash#define SLEEP_IN 0x10#define SLEEP_OUT 0x11#define PARTIAL_MODE_ON 0x12#define NORMAL_MODE_ON 0x13#define INVERSION_OFF 0x20#define INVERSION_ON 0x21#define PIXELS_OFF 0x22#define PIXELS_ON 0x23#define SET_CONTRAST 0x25#define DISPLAY_OFF 0x28#define DISPLAY_ON 0x29#define SET_X_ADDR 0x2A // ATENTION! when X,Y address are changed BOTH must be changed // START_X 0xXX // STOP_X 0xXX#define SET_Y_ADDR 0x2B // START_Y 0xXX // STOP_Y 0xXX#define MEM_WRITE 0x2C // x times pixel data 0xXX#define COLOR_SET 0x2D // 8 times red palette 0xXX // 8 times green palette 0xXX // 4 times blue palette 0xXX#define PARTIAL_AREA 0x30 // START_Y 0xXX // STOP_Y 0xXX#define SCROLL_DEFINITON 0x33 // always vertical // TOP_FIXED_LINES 0xXX // SCROLL_LINES 0xXX // BOTTOM_FIXED_LINES 0xXX#define SET_SCROLL 0x37 // SEP scroll entry point // ROW_Y 0xxx#define MEM_CONTROL 0x36#define MEM_RGB 0x08 // "0": ordre RGB, "1": BGR#define MEM_LAO 0x10 // "0":haut vers bas, "1":bas vers haut#define MEM_VW 0x20 // "0":閏riture ds le sens X // "1":閏riture ds le sens Y#define MEM_MX 0x40 // "0":normal, "1":miroir en X#define MEM_MY 0x80 // "0":normal, "1":miroir en Y#define IDLE_OFF 0x38#define IDLE_ON 0x39#define COLOR_INTERFACE 0x3A // pixelformat 0xXX#define COLOR_8_BIT 0x02#define COLOR_12_BIT 0x03#define COLOR_16_BIT 0x05#define SET_VOP 0xB0 // irrelevant for Nokia6100 // 2x 0xXX#define BOTTOM_ROW_SWAP_OFF 0xB4#define BOTTOM_ROW_SWAP_ON 0xB5#define TOP_ROW_SWAP_OFF 0xB6#define TOP_ROW_SWAP_ON 0xB7#define SUPER_FRAME_INV_OFF 0xB8#define SUPER_FRAME_INV_ON 0xB9#define DATA_ORDER_MSB 0xBA#define DATA_ORDER_LSB 0xBB#define TEMP_READ 0xC8 // read/*------------------ Constantes Timer A--------------------*/// Interruption Timer A, voie 0#define Pulse_OUT1 100 //Dur閑 de l'impulsion de d閏lenchement de la CAN#define Periode_IntTA0 588 //Soit une fr閝uence de 6800Hz avec horloge de 4MHZ/*--------------- Constantes UART-----------------*/#define RXBufSize 32 // Taille du buffer de r閏eption (puissance de 2)#define TXBufSize 32 // Taille du buffer de transmission (puissance de 2)#define Buffer_vide 1 // 1: rien
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -