mirror of
https://gitee.com/seekfree/TC264_Library.git
synced 2026-06-04 03:32:56 +00:00
V1.2.9 删除SEEKFREE_IPS200_PARALLEL8文件,新增SEEKFREE_IPS200,此文件包含原有的2寸屏并口驱动也包含最新的2寸屏串口驱动
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
V1.2.9
|
||||||
|
ɾ<><C9BE>SEEKFREE_IPS200_PARALLEL8<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEEKFREE_IPS200<30><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
V1.2.8
|
V1.2.8
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
#include "SEEKFREE_MMA8451.h"
|
#include "SEEKFREE_MMA8451.h"
|
||||||
#include "SEEKFREE_L3G4200D.h"
|
#include "SEEKFREE_L3G4200D.h"
|
||||||
#include "SEEKFREE_WIRELESS.h"
|
#include "SEEKFREE_WIRELESS.h"
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "SEEKFREE_7725.h"
|
#include "SEEKFREE_7725.h"
|
||||||
#include "SEEKFREE_RDA5807.h"
|
#include "SEEKFREE_RDA5807.h"
|
||||||
#include "SEEKFREE_7725_UART.h"
|
#include "SEEKFREE_7725_UART.h"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "IfxQspi.h"
|
#include "IfxQspi.h"
|
||||||
#include "zf_assert.h"
|
#include "zf_assert.h"
|
||||||
#include "zf_spi.h"
|
#include "zf_spi.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
|
||||||
#define MAX_BAUD 50000000
|
#define MAX_BAUD 50000000
|
||||||
|
|
||||||
@@ -183,7 +183,62 @@ void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_P
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8 get_spi_cs_pin(SPI_PIN_enum cs_pin)
|
||||||
|
{
|
||||||
|
if (SPI0_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI0_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI0_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI0_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI0_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI0_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI0_CS6_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI0_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI0_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI0_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
else if (SPI0_CS13_P15_0 == cs_pin) return gpio_get(P15_0);
|
||||||
|
else if (SPI1_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI1_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI1_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI1_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI1_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI1_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI1_CS6_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI1_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI1_CS8_P10_4 == cs_pin) return gpio_get(P10_4);
|
||||||
|
else if (SPI1_CS9_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI1_CS10_P10_0 == cs_pin) return gpio_get(P10_0);
|
||||||
|
else if (SPI2_CS0_P15_2 == cs_pin) return gpio_get(P15_2);
|
||||||
|
else if (SPI2_CS1_P14_2 == cs_pin) return gpio_get(P14_2);
|
||||||
|
else if (SPI2_CS2_P14_6 == cs_pin) return gpio_get(P14_6);
|
||||||
|
else if (SPI2_CS3_P14_3 == cs_pin) return gpio_get(P14_3);
|
||||||
|
else if (SPI2_CS5_P15_1 == cs_pin) return gpio_get(P15_1);
|
||||||
|
else if (SPI2_CS6_P33_13 == cs_pin) return gpio_get(P33_13);
|
||||||
|
else if (SPI2_CS7_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI2_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI2_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
|
||||||
|
else if (SPI3_CS0_P02_4 == cs_pin) return gpio_get(P02_4);
|
||||||
|
else if (SPI3_CS1_P02_0 == cs_pin) return gpio_get(P02_0);
|
||||||
|
else if (SPI3_CS1_P33_9 == cs_pin) return gpio_get(P33_9);
|
||||||
|
else if (SPI3_CS2_P02_1 == cs_pin) return gpio_get(P02_1);
|
||||||
|
else if (SPI3_CS2_P33_8 == cs_pin) return gpio_get(P33_8);
|
||||||
|
else if (SPI3_CS3_P02_2 == cs_pin) return gpio_get(P02_2);
|
||||||
|
else if (SPI3_CS4_P02_3 == cs_pin) return gpio_get(P02_3);
|
||||||
|
else if (SPI3_CS4_P23_5 == cs_pin) return gpio_get(P23_5);
|
||||||
|
else if (SPI3_CS5_P02_8 == cs_pin) return gpio_get(P02_8);
|
||||||
|
else if (SPI3_CS6_P00_8 == cs_pin) return gpio_get(P00_8);
|
||||||
|
else if (SPI3_CS7_P00_9 == cs_pin) return gpio_get(P00_9);
|
||||||
|
else if (SPI3_CS7_P33_7 == cs_pin) return gpio_get(P33_7);
|
||||||
|
else if (SPI3_CS8_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI3_CS11_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI3_CS12_P22_2 == cs_pin) return gpio_get(P22_2);
|
||||||
|
else if (SPI3_CS13_P23_1 == cs_pin) return gpio_get(P23_1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ZF_ASSERT(FALSE);
|
||||||
|
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>CS<43><53><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -335,6 +390,7 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
|
|||||||
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
||||||
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
||||||
}
|
}
|
||||||
|
while(!get_spi_cs_pin(cs_pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void lcd_init(void)
|
|||||||
lcd_writeData(0x05);
|
lcd_writeData(0x05);
|
||||||
lcd_writeIndex(0x29);
|
lcd_writeIndex(0x29);
|
||||||
|
|
||||||
lcd_clear(WHITE);//ȫ<><C8AB>
|
lcd_clear(RGB565_WHITE);//ȫ<><C8AB>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ void showimage(const unsigned char *p)
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
unsigned char picH,picL;
|
unsigned char picH,picL;
|
||||||
lcd_clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
lcd_clear(RGB565_WHITE); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
for(k=0;k<4;k++)
|
for(k=0;k<4;k++)
|
||||||
{
|
{
|
||||||
@@ -716,8 +716,8 @@ void lcd_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) lcd_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) lcd_writedata_16bit(RGB565_WHITE);
|
||||||
else lcd_writedata_16bit(BLACK);
|
else lcd_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define TFT_PENCOLOR RED
|
#define TFT_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define TFT_BGCOLOR WHITE
|
#define TFT_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
||||||
#define RED 0xF800 //<2F><>ɫ
|
#define RGB565_RED 0xF800 //<2F><>ɫ
|
||||||
#define BLUE 0x001F //<2F><>ɫ
|
#define RGB565_BLUE 0x001F //<2F><>ɫ
|
||||||
#define YELLOW 0xFFE0 //<2F><>ɫ
|
#define RGB565_YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
#define GREEN 0x07E0 //<2F><>ɫ
|
#define RGB565_GREEN 0x07E0 //<2F><>ɫ
|
||||||
#define WHITE 0xFFFF //<2F><>ɫ
|
#define RGB565_WHITE 0xFFFF //<2F><>ɫ
|
||||||
#define BLACK 0x0000 //<2F><>ɫ
|
#define RGB565_BLACK 0x0000 //<2F><>ɫ
|
||||||
#define GRAY 0X8430 //<2F><>ɫ
|
#define RGB565_GRAY 0X8430 //<2F><>ɫ
|
||||||
#define BROWN 0XBC40 //<2F><>ɫ
|
#define RGB565_BROWN 0XBC40 //<2F><>ɫ
|
||||||
#define PURPLE 0XF81F //<2F><>ɫ
|
#define RGB565_PURPLE 0XF81F //<2F><>ɫ
|
||||||
#define PINK 0XFE19 //<2F><>ɫ
|
#define RGB565_PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
extern const uint8 tft_ascii[95][16];
|
extern const uint8 tft_ascii[95][16];
|
||||||
|
|||||||
@@ -726,8 +726,8 @@ void ips114_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips114_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) ips114_writedata_16bit(RGB565_WHITE);
|
||||||
else ips114_writedata_16bit(BLACK);
|
else ips114_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define IPS114_PENCOLOR RED
|
#define IPS114_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define IPS114_BGCOLOR WHITE
|
#define IPS114_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,56 +11,50 @@
|
|||||||
* @company 成都逐飞科技有限公司
|
* @company 成都逐飞科技有限公司
|
||||||
* @author 逐飞科技(QQ3184284598)
|
* @author 逐飞科技(QQ3184284598)
|
||||||
* @version 查看doc内version文件 版本说明
|
* @version 查看doc内version文件 版本说明
|
||||||
* @Software ADS v1.2.2
|
* @Software ADS v1.5.2
|
||||||
* @Target core TC264D
|
* @Target core TC264
|
||||||
* @Taobao https://seekfree.taobao.com/
|
* @Taobao https://seekfree.taobao.com/
|
||||||
* @date 2020-3-23
|
* @date 2022-05-07
|
||||||
* @note
|
* @note
|
||||||
接线定义:
|
接线定义:
|
||||||
------------------------------------
|
------------------------------------------------------------------------
|
||||||
模块管脚 单片机管脚
|
* 模块管脚 单片机管脚
|
||||||
D0 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D0_PIN 宏定义
|
* // 双排排针 并口两寸屏 硬件引脚
|
||||||
D1 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D1_PIN 宏定义
|
* RD 查看 SEEKFREE_IPS200.h 中 IPS200_RD_PIN_PARALLEL8 宏定义
|
||||||
D2 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D2_PIN 宏定义
|
* WR 查看 SEEKFREE_IPS200.h 中 IPS200_WR_PIN_PARALLEL8 宏定义
|
||||||
D3 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D3_PIN 宏定义
|
* RS 查看 SEEKFREE_IPS200.h 中 IPS200_RS_PIN_PARALLEL8 宏定义
|
||||||
D4 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D4_PIN 宏定义
|
* RST 查看 SEEKFREE_IPS200.h 中 IPS200_RST_PIN_PARALLEL8 宏定义
|
||||||
D5 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D5_PIN 宏定义
|
* CS 查看 SEEKFREE_IPS200.h 中 IPS200_CS_PIN_PARALLEL8 宏定义
|
||||||
D6 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D6_PIN 宏定义
|
* BL 查看 SEEKFREE_IPS200.h 中 IPS200_BL_PIN_PARALLEL8 宏定义
|
||||||
D7 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D7_PIN 宏定义
|
* D0-D7 查看 SEEKFREE_IPS200.h 中 IPS200_Dx_PIN_PARALLEL8 宏定义
|
||||||
|
* VCC 3.3V电源
|
||||||
BL 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_BL_PIN 宏定义
|
* GND 电源地
|
||||||
CS 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_CS_PIN 宏定义
|
* // 单排排针 SPI 两寸屏 硬件引脚
|
||||||
RD 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RD_PIN 宏定义
|
* SCL 查看 SEEKFREE_IPS200.h 中 IPS200_SCL_PIN_SPI 宏定义
|
||||||
WR 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_WR_PIN 宏定义
|
* SDA 查看 SEEKFREE_IPS200.h 中 IPS200_SDA_PIN_SPI 宏定义
|
||||||
RS 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RS_PIN 宏定义
|
* RST 查看 SEEKFREE_IPS200.h 中 IPS200_RST_PIN_SPI 宏定义
|
||||||
RST 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RST_PIN 宏定义
|
* DC 查看 SEEKFREE_IPS200.h 中 IPS200_DC_PIN_SPI 宏定义
|
||||||
|
* CS 查看 SEEKFREE_IPS200.h 中 IPS200_CS_PIN_SPI 宏定义
|
||||||
电源引脚
|
* BL 查看 SEEKFREE_IPS200.h 中 IPS200_BL_PIN_SPI 宏定义
|
||||||
VCC 3.3V电源
|
* VCC 3.3V电源
|
||||||
GND 电源地
|
* GND 电源地
|
||||||
最大分辨率240*320
|
* 最大分辨率 320 * 240
|
||||||
------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
|
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "stdlib.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "string.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
#include "zf_stm_systick.h"
|
|
||||||
#include "zf_gpio.h"
|
|
||||||
#include "zf_assert.h"
|
|
||||||
#include "SEEKFREE_PRINTF.h"
|
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
static ips200_type_enum ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
static PIN_enum ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_w_data(uint8 dat) //写数据
|
void ips200_w_data(uint8 dat) //写数据
|
||||||
{
|
{
|
||||||
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
||||||
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
||||||
@@ -69,67 +63,94 @@ void ips200_w_data(uint8 dat) //д
|
|||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param command 命令
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_reg(uint8 command) //写命令
|
void ips200_wr_reg(uint8 command) //写命令
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(0);
|
{
|
||||||
IPS200_RD(1);
|
IPS200_DC(0);
|
||||||
IPS200_WR(0);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&command,NULL,1,1);
|
||||||
ips200_w_data(command);
|
IPS200_DC(1);
|
||||||
IPS200_WR(1);
|
}
|
||||||
IPS200_CS(1);
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(0);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(command);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 8位数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_data(uint8 dat) //向液晶屏写一个8位数据
|
void ips200_wr_data(uint8 dat) //向液晶屏写一个8位数据
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(1);
|
{
|
||||||
IPS200_RD(1);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&dat,NULL,1,1);
|
||||||
IPS200_WR(0);
|
}
|
||||||
ips200_w_data(dat);
|
else
|
||||||
IPS200_WR(1);
|
{
|
||||||
IPS200_CS(1);
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(dat);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 16位数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_data16(uint16 dat) //向液晶屏写一个16位数据
|
void ips200_wr_data16(uint16 dat) //向液晶屏写一个16位数据
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(1);
|
{
|
||||||
IPS200_RD(1);
|
uint8 dat1[2];
|
||||||
IPS200_WR(0);
|
dat1[0] = dat >> 8;
|
||||||
ips200_w_data((uint8)(dat>>8));
|
dat1[1] = (uint8)dat;
|
||||||
IPS200_WR(1);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,dat1,NULL,2,1);
|
||||||
IPS200_WR(0);
|
}
|
||||||
ips200_w_data((uint8)(dat));
|
else
|
||||||
IPS200_WR(1);
|
{
|
||||||
IPS200_CS(1);
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat>>8));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param com 命令
|
||||||
|
// @param dat 数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
@@ -143,8 +164,11 @@ void ips200_w_reg(uint8 com,uint8 dat) //д
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 设置显示区域 内部调用
|
||||||
// @param void
|
// @param x1 起始x轴坐标
|
||||||
|
// @param y1 起始y轴坐标
|
||||||
|
// @param x2 结束x轴坐标
|
||||||
|
// @param y2 结束y轴坐标
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
@@ -165,28 +189,42 @@ void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
|||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 2.0寸 IPS液晶初始化
|
// @brief 2.0寸 IPS液晶初始化
|
||||||
// @return void
|
// @return type_select 并口或者串口选择
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_init(void)
|
void ips200_init(ips200_type_enum type_select)
|
||||||
{
|
{
|
||||||
gpio_init(IPS200_D0_PIN, GPO, 0, PUSHPULL);
|
if(IPS200_TYPE_SPI == type_select)
|
||||||
gpio_init(IPS200_D1_PIN, GPO, 0, PUSHPULL);
|
{
|
||||||
gpio_init(IPS200_D2_PIN, GPO, 0, PUSHPULL);
|
ips200_display_type = IPS200_TYPE_SPI;
|
||||||
gpio_init(IPS200_D3_PIN, GPO, 0, PUSHPULL);
|
ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
gpio_init(IPS200_D4_PIN, GPO, 0, PUSHPULL);
|
spi_init(IPS200_SPIN, IPS200_SCL_PIN_SPI, IPS200_SDA_PIN_SPI, IPS200_SDA_IN_PIN_SPI, IPS200_CS_PIN_SPI, 0, 30*1000*1000);//硬件SPI初始化
|
||||||
gpio_init(IPS200_D5_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D6_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_BL_PIN_SPI,GPO,1,PUSHPULL);
|
||||||
gpio_init(IPS200_D7_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_DC_PIN_SPI,GPO,0,PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin,GPO,0,PUSHPULL);
|
||||||
gpio_init(IPS200_BL_PIN, GPO, 0, PUSHPULL);
|
}
|
||||||
gpio_init(IPS200_CS_PIN, GPO, 0, PUSHPULL);
|
else
|
||||||
gpio_init(IPS200_RST_PIN, GPO, 0, PUSHPULL);
|
{
|
||||||
gpio_init(IPS200_RS_PIN, GPO, 0, PUSHPULL);
|
ips200_display_type = IPS200_TYPE_PARALLEL8;
|
||||||
gpio_init(IPS200_WR_PIN, GPO, 0, PUSHPULL);
|
ips_rst_pin = IPS200_RST_PIN_PARALLEL8;
|
||||||
gpio_init(IPS200_RD_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_D0_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D1_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D2_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D3_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D4_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D5_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D6_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D7_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_CS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_WR_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RD_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
}
|
||||||
IPS200_BL(1);
|
IPS200_BL(1);
|
||||||
IPS200_RST(0);
|
IPS200_RST(0);
|
||||||
systick_delay_ms(STM0, 5);
|
systick_delay_ms(STM0, 5);
|
||||||
@@ -203,9 +241,6 @@ void ips200_init(void)
|
|||||||
else ips200_wr_data(0xA0);
|
else ips200_wr_data(0xA0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ips200_wr_reg(0x3A);
|
ips200_wr_reg(0x3A);
|
||||||
ips200_wr_data(0x05);
|
ips200_wr_data(0x05);
|
||||||
|
|
||||||
@@ -276,7 +311,7 @@ void ips200_init(void)
|
|||||||
ips200_wr_reg(0x21);
|
ips200_wr_reg(0x21);
|
||||||
|
|
||||||
ips200_wr_reg(0x29);
|
ips200_wr_reg(0x29);
|
||||||
ips200_clear(IPS200_BGCOLOR); //初始化为白屏
|
ips200_clear(IPS200_BGCOLOR); //初始化为白屏
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -844,8 +879,8 @@ void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips200_wr_data16(WHITE);
|
if( (temp<<j)&0x80 ) ips200_wr_data16(RGB565_WHITE);
|
||||||
else ips200_wr_data16(BLACK);
|
else ips200_wr_data16(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
199
Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS200.h
Normal file
199
Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS200.h
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
|
||||||
|
/*/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2020-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _SEEKFREE_IPS200_H
|
||||||
|
#define _SEEKFREE_IPS200_H
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "zf_stm_systick.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
#include "zf_assert.h"
|
||||||
|
#include "SEEKFREE_PRINTF.h"
|
||||||
|
#include "zf_spi.h"
|
||||||
|
#include "SEEKFREE_FUN.h"
|
||||||
|
#include "SEEKFREE_FONT.h"
|
||||||
|
|
||||||
|
|
||||||
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
||||||
|
//#define RED 0xF800 //<2F><>ɫ
|
||||||
|
//#define BLUE 0x001F //<2F><>ɫ
|
||||||
|
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
|
//#define GREEN 0x07E0 //<2F><>ɫ
|
||||||
|
//#define WHITE 0xFFFF //<2F><>ɫ
|
||||||
|
//#define BLACK 0x0000 //<2F><>ɫ
|
||||||
|
//#define GRAY 0X8430 //<2F><>ɫ
|
||||||
|
//#define BROWN 0XBC40 //<2F><>ɫ
|
||||||
|
//#define PURPLE 0XF81F //<2F><>ɫ
|
||||||
|
//#define PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BGCOLOR RGB565_WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
#define IPS200_PENCOLOR RGB565_RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SPIN SPI_2 //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
||||||
|
#define IPS200_SCL_PIN_SPI SPI2_SCLK_P15_3 //<2F><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_PIN_SPI SPI2_MOSI_P15_5 //<2F><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_IN_PIN_SPI SPI2_MISO_P15_4 //<2F><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
||||||
|
#define IPS200_CS_PIN_SPI SPI2_CS0_P15_2 //<2F><><EFBFBD><EFBFBD>SPI_CS<43><53><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_RST_PIN_SPI P15_1 // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
||||||
|
#define IPS200_DC_PIN_SPI P15_0
|
||||||
|
#define IPS200_BL_PIN_SPI P15_4
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
||||||
|
#define IPS200_RD_PIN_PARALLEL8 P15_3
|
||||||
|
#define IPS200_WR_PIN_PARALLEL8 P15_5
|
||||||
|
#define IPS200_RS_PIN_PARALLEL8 P15_1
|
||||||
|
#define IPS200_RST_PIN_PARALLEL8 P15_0
|
||||||
|
#define IPS200_CS_PIN_PARALLEL8 P15_2
|
||||||
|
#define IPS200_BL_PIN_PARALLEL8 P15_4
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õõ<C3B5>
|
||||||
|
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
||||||
|
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
||||||
|
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
||||||
|
#define IPS200_D0_PIN_PARALLEL8 P11_9
|
||||||
|
#define IPS200_D1_PIN_PARALLEL8 P11_10
|
||||||
|
#define IPS200_D2_PIN_PARALLEL8 P11_11
|
||||||
|
#define IPS200_D3_PIN_PARALLEL8 P11_12
|
||||||
|
#define IPS200_D4_PIN_PARALLEL8 P13_0
|
||||||
|
#define IPS200_D5_PIN_PARALLEL8 P13_1
|
||||||
|
#define IPS200_D6_PIN_PARALLEL8 P13_2
|
||||||
|
#define IPS200_D7_PIN_PARALLEL8 P13_3
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
||||||
|
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM1 (IPS200_D0_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM2 (IPS200_D4_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RST(x) gpio_set(ips_rst_pin,x)
|
||||||
|
|
||||||
|
#define IPS200_DC(x) gpio_set(IPS200_DC_PIN_SPI,x)
|
||||||
|
|
||||||
|
#define IPS200_W 240
|
||||||
|
#define IPS200_H 320
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IPS200_TYPE_SPI, // SPI <20><><EFBFBD><EFBFBD>
|
||||||
|
IPS200_TYPE_PARALLEL8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
}ips200_type_enum;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
#define IPS200_DISPLAY_DIR 0
|
||||||
|
|
||||||
|
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_init(ips200_type_enum type_select); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
||||||
|
void ips200_w_data(uint8 dat);
|
||||||
|
void ips200_wr_reg(uint8 com);
|
||||||
|
void ips200_wr_data(uint8 dat);
|
||||||
|
void ips200_wr_data16(uint16 dat);
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat);
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
||||||
|
void ips200_clear(uint16 color);
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
||||||
|
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
/*/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
#define _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "SEEKFREE_FONT.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
|
||||||
//#define RED 0xF800 //<2F><>ɫ
|
|
||||||
//#define BLUE 0x001F //<2F><>ɫ
|
|
||||||
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
|
||||||
//#define GREEN 0x07E0 //<2F><>ɫ
|
|
||||||
//#define WHITE 0xFFFF //<2F><>ɫ
|
|
||||||
//#define BLACK 0x0000 //<2F><>ɫ
|
|
||||||
//#define GRAY 0X8430 //<2F><>ɫ
|
|
||||||
//#define BROWN 0XBC40 //<2F><>ɫ
|
|
||||||
//#define PURPLE 0XF81F //<2F><>ɫ
|
|
||||||
//#define PINK 0XFE19 //<2F><>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BGCOLOR WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
#define IPS200_PENCOLOR RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|
||||||
#define IPS200_RD_PIN P15_3
|
|
||||||
#define IPS200_WR_PIN P15_5
|
|
||||||
#define IPS200_RS_PIN P15_1
|
|
||||||
#define IPS200_RST_PIN P15_0
|
|
||||||
#define IPS200_CS_PIN P15_2
|
|
||||||
#define IPS200_BL_PIN P15_4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
|
||||||
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
|
||||||
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
|
||||||
#define IPS200_D0_PIN P11_9
|
|
||||||
#define IPS200_D1_PIN P11_10
|
|
||||||
#define IPS200_D2_PIN P11_11
|
|
||||||
#define IPS200_D3_PIN P11_12
|
|
||||||
#define IPS200_D4_PIN P13_0
|
|
||||||
#define IPS200_D5_PIN P13_1
|
|
||||||
#define IPS200_D6_PIN P13_2
|
|
||||||
#define IPS200_D7_PIN P13_3
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
||||||
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM1 (IPS200_D0_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM2 (IPS200_D4_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN,x)
|
|
||||||
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN,x)
|
|
||||||
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN,x)
|
|
||||||
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN,x)
|
|
||||||
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN,x)
|
|
||||||
#define IPS200_RST(x) gpio_set(IPS200_RST_PIN,x)
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_W 240
|
|
||||||
#define IPS200_H 320
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
#define IPS200_DISPLAY_DIR 0
|
|
||||||
|
|
||||||
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_init(void); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
|
||||||
void ips200_w_data(uint8 dat);
|
|
||||||
void ips200_wr_reg(uint8 com);
|
|
||||||
void ips200_wr_data(uint8 dat);
|
|
||||||
void ips200_wr_data16(uint16 dat);
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat);
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
|
||||||
void ips200_clear(uint16 color);
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
|
||||||
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V1.2.9
|
||||||
|
ɾ<><C9BE>SEEKFREE_IPS200_PARALLEL8<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEEKFREE_IPS200<30><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
V1.2.8
|
V1.2.8
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
#include "SEEKFREE_MMA8451.h"
|
#include "SEEKFREE_MMA8451.h"
|
||||||
#include "SEEKFREE_L3G4200D.h"
|
#include "SEEKFREE_L3G4200D.h"
|
||||||
#include "SEEKFREE_WIRELESS.h"
|
#include "SEEKFREE_WIRELESS.h"
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "SEEKFREE_7725.h"
|
#include "SEEKFREE_7725.h"
|
||||||
#include "SEEKFREE_RDA5807.h"
|
#include "SEEKFREE_RDA5807.h"
|
||||||
#include "SEEKFREE_7725_UART.h"
|
#include "SEEKFREE_7725_UART.h"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "IfxQspi.h"
|
#include "IfxQspi.h"
|
||||||
#include "zf_assert.h"
|
#include "zf_assert.h"
|
||||||
#include "zf_spi.h"
|
#include "zf_spi.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
|
||||||
#define MAX_BAUD 50000000
|
#define MAX_BAUD 50000000
|
||||||
|
|
||||||
@@ -183,7 +183,62 @@ void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_P
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8 get_spi_cs_pin(SPI_PIN_enum cs_pin)
|
||||||
|
{
|
||||||
|
if (SPI0_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI0_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI0_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI0_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI0_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI0_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI0_CS6_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI0_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI0_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI0_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
else if (SPI0_CS13_P15_0 == cs_pin) return gpio_get(P15_0);
|
||||||
|
else if (SPI1_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI1_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI1_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI1_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI1_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI1_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI1_CS6_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI1_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI1_CS8_P10_4 == cs_pin) return gpio_get(P10_4);
|
||||||
|
else if (SPI1_CS9_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI1_CS10_P10_0 == cs_pin) return gpio_get(P10_0);
|
||||||
|
else if (SPI2_CS0_P15_2 == cs_pin) return gpio_get(P15_2);
|
||||||
|
else if (SPI2_CS1_P14_2 == cs_pin) return gpio_get(P14_2);
|
||||||
|
else if (SPI2_CS2_P14_6 == cs_pin) return gpio_get(P14_6);
|
||||||
|
else if (SPI2_CS3_P14_3 == cs_pin) return gpio_get(P14_3);
|
||||||
|
else if (SPI2_CS5_P15_1 == cs_pin) return gpio_get(P15_1);
|
||||||
|
else if (SPI2_CS6_P33_13 == cs_pin) return gpio_get(P33_13);
|
||||||
|
else if (SPI2_CS7_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI2_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI2_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
|
||||||
|
else if (SPI3_CS0_P02_4 == cs_pin) return gpio_get(P02_4);
|
||||||
|
else if (SPI3_CS1_P02_0 == cs_pin) return gpio_get(P02_0);
|
||||||
|
else if (SPI3_CS1_P33_9 == cs_pin) return gpio_get(P33_9);
|
||||||
|
else if (SPI3_CS2_P02_1 == cs_pin) return gpio_get(P02_1);
|
||||||
|
else if (SPI3_CS2_P33_8 == cs_pin) return gpio_get(P33_8);
|
||||||
|
else if (SPI3_CS3_P02_2 == cs_pin) return gpio_get(P02_2);
|
||||||
|
else if (SPI3_CS4_P02_3 == cs_pin) return gpio_get(P02_3);
|
||||||
|
else if (SPI3_CS4_P23_5 == cs_pin) return gpio_get(P23_5);
|
||||||
|
else if (SPI3_CS5_P02_8 == cs_pin) return gpio_get(P02_8);
|
||||||
|
else if (SPI3_CS6_P00_8 == cs_pin) return gpio_get(P00_8);
|
||||||
|
else if (SPI3_CS7_P00_9 == cs_pin) return gpio_get(P00_9);
|
||||||
|
else if (SPI3_CS7_P33_7 == cs_pin) return gpio_get(P33_7);
|
||||||
|
else if (SPI3_CS8_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI3_CS11_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI3_CS12_P22_2 == cs_pin) return gpio_get(P22_2);
|
||||||
|
else if (SPI3_CS13_P23_1 == cs_pin) return gpio_get(P23_1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ZF_ASSERT(FALSE);
|
||||||
|
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>CS<43><53><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -335,6 +390,7 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
|
|||||||
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
||||||
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
||||||
}
|
}
|
||||||
|
while(!get_spi_cs_pin(cs_pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void lcd_init(void)
|
|||||||
lcd_writeData(0x05);
|
lcd_writeData(0x05);
|
||||||
lcd_writeIndex(0x29);
|
lcd_writeIndex(0x29);
|
||||||
|
|
||||||
lcd_clear(WHITE);//ȫ<><C8AB>
|
lcd_clear(RGB565_WHITE);//ȫ<><C8AB>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ void showimage(const unsigned char *p)
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
unsigned char picH,picL;
|
unsigned char picH,picL;
|
||||||
lcd_clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
lcd_clear(RGB565_WHITE); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
for(k=0;k<4;k++)
|
for(k=0;k<4;k++)
|
||||||
{
|
{
|
||||||
@@ -716,8 +716,8 @@ void lcd_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) lcd_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) lcd_writedata_16bit(RGB565_WHITE);
|
||||||
else lcd_writedata_16bit(BLACK);
|
else lcd_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define TFT_PENCOLOR RED
|
#define TFT_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define TFT_BGCOLOR WHITE
|
#define TFT_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
||||||
#define RED 0xF800 //<2F><>ɫ
|
#define RGB565_RED 0xF800 //<2F><>ɫ
|
||||||
#define BLUE 0x001F //<2F><>ɫ
|
#define RGB565_BLUE 0x001F //<2F><>ɫ
|
||||||
#define YELLOW 0xFFE0 //<2F><>ɫ
|
#define RGB565_YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
#define GREEN 0x07E0 //<2F><>ɫ
|
#define RGB565_GREEN 0x07E0 //<2F><>ɫ
|
||||||
#define WHITE 0xFFFF //<2F><>ɫ
|
#define RGB565_WHITE 0xFFFF //<2F><>ɫ
|
||||||
#define BLACK 0x0000 //<2F><>ɫ
|
#define RGB565_BLACK 0x0000 //<2F><>ɫ
|
||||||
#define GRAY 0X8430 //<2F><>ɫ
|
#define RGB565_GRAY 0X8430 //<2F><>ɫ
|
||||||
#define BROWN 0XBC40 //<2F><>ɫ
|
#define RGB565_BROWN 0XBC40 //<2F><>ɫ
|
||||||
#define PURPLE 0XF81F //<2F><>ɫ
|
#define RGB565_PURPLE 0XF81F //<2F><>ɫ
|
||||||
#define PINK 0XFE19 //<2F><>ɫ
|
#define RGB565_PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
extern const uint8 tft_ascii[95][16];
|
extern const uint8 tft_ascii[95][16];
|
||||||
|
|||||||
@@ -726,8 +726,8 @@ void ips114_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips114_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) ips114_writedata_16bit(RGB565_WHITE);
|
||||||
else ips114_writedata_16bit(BLACK);
|
else ips114_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define IPS114_PENCOLOR RED
|
#define IPS114_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define IPS114_BGCOLOR WHITE
|
#define IPS114_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,56 +11,50 @@
|
|||||||
* @company 成都逐飞科技有限公司
|
* @company 成都逐飞科技有限公司
|
||||||
* @author 逐飞科技(QQ3184284598)
|
* @author 逐飞科技(QQ3184284598)
|
||||||
* @version 查看doc内version文件 版本说明
|
* @version 查看doc内version文件 版本说明
|
||||||
* @Software ADS v1.2.2
|
* @Software ADS v1.5.2
|
||||||
* @Target core TC264D
|
* @Target core TC264
|
||||||
* @Taobao https://seekfree.taobao.com/
|
* @Taobao https://seekfree.taobao.com/
|
||||||
* @date 2020-3-23
|
* @date 2022-05-07
|
||||||
* @note
|
* @note
|
||||||
接线定义:
|
接线定义:
|
||||||
------------------------------------
|
------------------------------------------------------------------------
|
||||||
模块管脚 单片机管脚
|
* 模块管脚 单片机管脚
|
||||||
D0 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D0_PIN 宏定义
|
* // 双排排针 并口两寸屏 硬件引脚
|
||||||
D1 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D1_PIN 宏定义
|
* RD 查看 SEEKFREE_IPS200.h 中 IPS200_RD_PIN_PARALLEL8 宏定义
|
||||||
D2 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D2_PIN 宏定义
|
* WR 查看 SEEKFREE_IPS200.h 中 IPS200_WR_PIN_PARALLEL8 宏定义
|
||||||
D3 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D3_PIN 宏定义
|
* RS 查看 SEEKFREE_IPS200.h 中 IPS200_RS_PIN_PARALLEL8 宏定义
|
||||||
D4 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D4_PIN 宏定义
|
* RST 查看 SEEKFREE_IPS200.h 中 IPS200_RST_PIN_PARALLEL8 宏定义
|
||||||
D5 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D5_PIN 宏定义
|
* CS 查看 SEEKFREE_IPS200.h 中 IPS200_CS_PIN_PARALLEL8 宏定义
|
||||||
D6 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D6_PIN 宏定义
|
* BL 查看 SEEKFREE_IPS200.h 中 IPS200_BL_PIN_PARALLEL8 宏定义
|
||||||
D7 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D7_PIN 宏定义
|
* D0-D7 查看 SEEKFREE_IPS200.h 中 IPS200_Dx_PIN_PARALLEL8 宏定义
|
||||||
|
* VCC 3.3V电源
|
||||||
BL 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_BL_PIN 宏定义
|
* GND 电源地
|
||||||
CS 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_CS_PIN 宏定义
|
* // 单排排针 SPI 两寸屏 硬件引脚
|
||||||
RD 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RD_PIN 宏定义
|
* SCL 查看 SEEKFREE_IPS200.h 中 IPS200_SCL_PIN_SPI 宏定义
|
||||||
WR 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_WR_PIN 宏定义
|
* SDA 查看 SEEKFREE_IPS200.h 中 IPS200_SDA_PIN_SPI 宏定义
|
||||||
RS 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RS_PIN 宏定义
|
* RST 查看 SEEKFREE_IPS200.h 中 IPS200_RST_PIN_SPI 宏定义
|
||||||
RST 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RST_PIN 宏定义
|
* DC 查看 SEEKFREE_IPS200.h 中 IPS200_DC_PIN_SPI 宏定义
|
||||||
|
* CS 查看 SEEKFREE_IPS200.h 中 IPS200_CS_PIN_SPI 宏定义
|
||||||
电源引脚
|
* BL 查看 SEEKFREE_IPS200.h 中 IPS200_BL_PIN_SPI 宏定义
|
||||||
VCC 3.3V电源
|
* VCC 3.3V电源
|
||||||
GND 电源地
|
* GND 电源地
|
||||||
最大分辨率240*320
|
* 最大分辨率 320 * 240
|
||||||
------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
|
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "stdlib.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "string.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
#include "zf_stm_systick.h"
|
|
||||||
#include "zf_gpio.h"
|
|
||||||
#include "zf_assert.h"
|
|
||||||
#include "SEEKFREE_PRINTF.h"
|
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
static ips200_type_enum ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
static PIN_enum ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_w_data(uint8 dat) //写数据
|
void ips200_w_data(uint8 dat) //写数据
|
||||||
{
|
{
|
||||||
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
||||||
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
||||||
@@ -69,67 +63,94 @@ void ips200_w_data(uint8 dat) //д
|
|||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param command 命令
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_reg(uint8 command) //写命令
|
void ips200_wr_reg(uint8 command) //写命令
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(0);
|
{
|
||||||
IPS200_RD(1);
|
IPS200_DC(0);
|
||||||
IPS200_WR(0);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&command,NULL,1,1);
|
||||||
ips200_w_data(command);
|
IPS200_DC(1);
|
||||||
IPS200_WR(1);
|
}
|
||||||
IPS200_CS(1);
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(0);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(command);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 8位数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_data(uint8 dat) //向液晶屏写一个8位数据
|
void ips200_wr_data(uint8 dat) //向液晶屏写一个8位数据
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(1);
|
{
|
||||||
IPS200_RD(1);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&dat,NULL,1,1);
|
||||||
IPS200_WR(0);
|
}
|
||||||
ips200_w_data(dat);
|
else
|
||||||
IPS200_WR(1);
|
{
|
||||||
IPS200_CS(1);
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(dat);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 16位数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_data16(uint16 dat) //向液晶屏写一个16位数据
|
void ips200_wr_data16(uint16 dat) //向液晶屏写一个16位数据
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(1);
|
{
|
||||||
IPS200_RD(1);
|
uint8 dat1[2];
|
||||||
IPS200_WR(0);
|
dat1[0] = dat >> 8;
|
||||||
ips200_w_data((uint8)(dat>>8));
|
dat1[1] = (uint8)dat;
|
||||||
IPS200_WR(1);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,dat1,NULL,2,1);
|
||||||
IPS200_WR(0);
|
}
|
||||||
ips200_w_data((uint8)(dat));
|
else
|
||||||
IPS200_WR(1);
|
{
|
||||||
IPS200_CS(1);
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat>>8));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param com 命令
|
||||||
|
// @param dat 数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
@@ -143,8 +164,11 @@ void ips200_w_reg(uint8 com,uint8 dat) //д
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 设置显示区域 内部调用
|
||||||
// @param void
|
// @param x1 起始x轴坐标
|
||||||
|
// @param y1 起始y轴坐标
|
||||||
|
// @param x2 结束x轴坐标
|
||||||
|
// @param y2 结束y轴坐标
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
@@ -165,28 +189,42 @@ void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
|||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 2.0寸 IPS液晶初始化
|
// @brief 2.0寸 IPS液晶初始化
|
||||||
// @return void
|
// @return type_select 并口或者串口选择
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_init(void)
|
void ips200_init(ips200_type_enum type_select)
|
||||||
{
|
{
|
||||||
gpio_init(IPS200_D0_PIN, GPO, 0, PUSHPULL);
|
if(IPS200_TYPE_SPI == type_select)
|
||||||
gpio_init(IPS200_D1_PIN, GPO, 0, PUSHPULL);
|
{
|
||||||
gpio_init(IPS200_D2_PIN, GPO, 0, PUSHPULL);
|
ips200_display_type = IPS200_TYPE_SPI;
|
||||||
gpio_init(IPS200_D3_PIN, GPO, 0, PUSHPULL);
|
ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
gpio_init(IPS200_D4_PIN, GPO, 0, PUSHPULL);
|
spi_init(IPS200_SPIN, IPS200_SCL_PIN_SPI, IPS200_SDA_PIN_SPI, IPS200_SDA_IN_PIN_SPI, IPS200_CS_PIN_SPI, 0, 30*1000*1000);//硬件SPI初始化
|
||||||
gpio_init(IPS200_D5_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D6_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_BL_PIN_SPI,GPO,1,PUSHPULL);
|
||||||
gpio_init(IPS200_D7_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_DC_PIN_SPI,GPO,0,PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin,GPO,0,PUSHPULL);
|
||||||
gpio_init(IPS200_BL_PIN, GPO, 0, PUSHPULL);
|
}
|
||||||
gpio_init(IPS200_CS_PIN, GPO, 0, PUSHPULL);
|
else
|
||||||
gpio_init(IPS200_RST_PIN, GPO, 0, PUSHPULL);
|
{
|
||||||
gpio_init(IPS200_RS_PIN, GPO, 0, PUSHPULL);
|
ips200_display_type = IPS200_TYPE_PARALLEL8;
|
||||||
gpio_init(IPS200_WR_PIN, GPO, 0, PUSHPULL);
|
ips_rst_pin = IPS200_RST_PIN_PARALLEL8;
|
||||||
gpio_init(IPS200_RD_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_D0_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D1_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D2_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D3_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D4_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D5_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D6_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D7_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_CS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_WR_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RD_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
}
|
||||||
IPS200_BL(1);
|
IPS200_BL(1);
|
||||||
IPS200_RST(0);
|
IPS200_RST(0);
|
||||||
systick_delay_ms(STM0, 5);
|
systick_delay_ms(STM0, 5);
|
||||||
@@ -203,9 +241,6 @@ void ips200_init(void)
|
|||||||
else ips200_wr_data(0xA0);
|
else ips200_wr_data(0xA0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ips200_wr_reg(0x3A);
|
ips200_wr_reg(0x3A);
|
||||||
ips200_wr_data(0x05);
|
ips200_wr_data(0x05);
|
||||||
|
|
||||||
@@ -276,7 +311,7 @@ void ips200_init(void)
|
|||||||
ips200_wr_reg(0x21);
|
ips200_wr_reg(0x21);
|
||||||
|
|
||||||
ips200_wr_reg(0x29);
|
ips200_wr_reg(0x29);
|
||||||
ips200_clear(IPS200_BGCOLOR); //初始化为白屏
|
ips200_clear(IPS200_BGCOLOR); //初始化为白屏
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -844,8 +879,8 @@ void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips200_wr_data16(WHITE);
|
if( (temp<<j)&0x80 ) ips200_wr_data16(RGB565_WHITE);
|
||||||
else ips200_wr_data16(BLACK);
|
else ips200_wr_data16(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
|
||||||
|
/*/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2020-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _SEEKFREE_IPS200_H
|
||||||
|
#define _SEEKFREE_IPS200_H
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "zf_stm_systick.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
#include "zf_assert.h"
|
||||||
|
#include "SEEKFREE_PRINTF.h"
|
||||||
|
#include "zf_spi.h"
|
||||||
|
#include "SEEKFREE_FUN.h"
|
||||||
|
#include "SEEKFREE_FONT.h"
|
||||||
|
|
||||||
|
|
||||||
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
||||||
|
//#define RED 0xF800 //<2F><>ɫ
|
||||||
|
//#define BLUE 0x001F //<2F><>ɫ
|
||||||
|
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
|
//#define GREEN 0x07E0 //<2F><>ɫ
|
||||||
|
//#define WHITE 0xFFFF //<2F><>ɫ
|
||||||
|
//#define BLACK 0x0000 //<2F><>ɫ
|
||||||
|
//#define GRAY 0X8430 //<2F><>ɫ
|
||||||
|
//#define BROWN 0XBC40 //<2F><>ɫ
|
||||||
|
//#define PURPLE 0XF81F //<2F><>ɫ
|
||||||
|
//#define PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BGCOLOR RGB565_WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
#define IPS200_PENCOLOR RGB565_RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SPIN SPI_2 //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
||||||
|
#define IPS200_SCL_PIN_SPI SPI2_SCLK_P15_3 //<2F><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_PIN_SPI SPI2_MOSI_P15_5 //<2F><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_IN_PIN_SPI SPI2_MISO_P15_4 //<2F><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
||||||
|
#define IPS200_CS_PIN_SPI SPI2_CS0_P15_2 //<2F><><EFBFBD><EFBFBD>SPI_CS<43><53><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_RST_PIN_SPI P15_1 // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
||||||
|
#define IPS200_DC_PIN_SPI P15_0
|
||||||
|
#define IPS200_BL_PIN_SPI P15_4
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
||||||
|
#define IPS200_RD_PIN_PARALLEL8 P15_3
|
||||||
|
#define IPS200_WR_PIN_PARALLEL8 P15_5
|
||||||
|
#define IPS200_RS_PIN_PARALLEL8 P15_1
|
||||||
|
#define IPS200_RST_PIN_PARALLEL8 P15_0
|
||||||
|
#define IPS200_CS_PIN_PARALLEL8 P15_2
|
||||||
|
#define IPS200_BL_PIN_PARALLEL8 P15_4
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õõ<C3B5>
|
||||||
|
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
||||||
|
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
||||||
|
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
||||||
|
#define IPS200_D0_PIN_PARALLEL8 P11_9
|
||||||
|
#define IPS200_D1_PIN_PARALLEL8 P11_10
|
||||||
|
#define IPS200_D2_PIN_PARALLEL8 P11_11
|
||||||
|
#define IPS200_D3_PIN_PARALLEL8 P11_12
|
||||||
|
#define IPS200_D4_PIN_PARALLEL8 P13_0
|
||||||
|
#define IPS200_D5_PIN_PARALLEL8 P13_1
|
||||||
|
#define IPS200_D6_PIN_PARALLEL8 P13_2
|
||||||
|
#define IPS200_D7_PIN_PARALLEL8 P13_3
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
||||||
|
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM1 (IPS200_D0_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM2 (IPS200_D4_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RST(x) gpio_set(ips_rst_pin,x)
|
||||||
|
|
||||||
|
#define IPS200_DC(x) gpio_set(IPS200_DC_PIN_SPI,x)
|
||||||
|
|
||||||
|
#define IPS200_W 240
|
||||||
|
#define IPS200_H 320
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IPS200_TYPE_SPI, // SPI <20><><EFBFBD><EFBFBD>
|
||||||
|
IPS200_TYPE_PARALLEL8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
}ips200_type_enum;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
#define IPS200_DISPLAY_DIR 0
|
||||||
|
|
||||||
|
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_init(ips200_type_enum type_select); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
||||||
|
void ips200_w_data(uint8 dat);
|
||||||
|
void ips200_wr_reg(uint8 com);
|
||||||
|
void ips200_wr_data(uint8 dat);
|
||||||
|
void ips200_wr_data16(uint16 dat);
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat);
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
||||||
|
void ips200_clear(uint16 color);
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
||||||
|
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
/*/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
#define _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "SEEKFREE_FONT.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
|
||||||
//#define RED 0xF800 //<2F><>ɫ
|
|
||||||
//#define BLUE 0x001F //<2F><>ɫ
|
|
||||||
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
|
||||||
//#define GREEN 0x07E0 //<2F><>ɫ
|
|
||||||
//#define WHITE 0xFFFF //<2F><>ɫ
|
|
||||||
//#define BLACK 0x0000 //<2F><>ɫ
|
|
||||||
//#define GRAY 0X8430 //<2F><>ɫ
|
|
||||||
//#define BROWN 0XBC40 //<2F><>ɫ
|
|
||||||
//#define PURPLE 0XF81F //<2F><>ɫ
|
|
||||||
//#define PINK 0XFE19 //<2F><>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BGCOLOR WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
#define IPS200_PENCOLOR RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|
||||||
#define IPS200_RD_PIN P15_3
|
|
||||||
#define IPS200_WR_PIN P15_5
|
|
||||||
#define IPS200_RS_PIN P15_1
|
|
||||||
#define IPS200_RST_PIN P15_0
|
|
||||||
#define IPS200_CS_PIN P15_2
|
|
||||||
#define IPS200_BL_PIN P15_4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
|
||||||
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
|
||||||
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
|
||||||
#define IPS200_D0_PIN P11_9
|
|
||||||
#define IPS200_D1_PIN P11_10
|
|
||||||
#define IPS200_D2_PIN P11_11
|
|
||||||
#define IPS200_D3_PIN P11_12
|
|
||||||
#define IPS200_D4_PIN P13_0
|
|
||||||
#define IPS200_D5_PIN P13_1
|
|
||||||
#define IPS200_D6_PIN P13_2
|
|
||||||
#define IPS200_D7_PIN P13_3
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
||||||
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM1 (IPS200_D0_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM2 (IPS200_D4_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN,x)
|
|
||||||
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN,x)
|
|
||||||
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN,x)
|
|
||||||
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN,x)
|
|
||||||
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN,x)
|
|
||||||
#define IPS200_RST(x) gpio_set(IPS200_RST_PIN,x)
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_W 240
|
|
||||||
#define IPS200_H 320
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
#define IPS200_DISPLAY_DIR 0
|
|
||||||
|
|
||||||
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_init(void); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
|
||||||
void ips200_w_data(uint8 dat);
|
|
||||||
void ips200_wr_reg(uint8 com);
|
|
||||||
void ips200_wr_data(uint8 dat);
|
|
||||||
void ips200_wr_data16(uint16 dat);
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat);
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
|
||||||
void ips200_clear(uint16 color);
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
|
||||||
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V1.2.9
|
||||||
|
ɾ<><C9BE>SEEKFREE_IPS200_PARALLEL8<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEEKFREE_IPS200<30><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
V1.2.8
|
V1.2.8
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
#include "SEEKFREE_MMA8451.h"
|
#include "SEEKFREE_MMA8451.h"
|
||||||
#include "SEEKFREE_L3G4200D.h"
|
#include "SEEKFREE_L3G4200D.h"
|
||||||
#include "SEEKFREE_WIRELESS.h"
|
#include "SEEKFREE_WIRELESS.h"
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "SEEKFREE_7725.h"
|
#include "SEEKFREE_7725.h"
|
||||||
#include "SEEKFREE_RDA5807.h"
|
#include "SEEKFREE_RDA5807.h"
|
||||||
#include "SEEKFREE_7725_UART.h"
|
#include "SEEKFREE_7725_UART.h"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "IfxQspi.h"
|
#include "IfxQspi.h"
|
||||||
#include "zf_assert.h"
|
#include "zf_assert.h"
|
||||||
#include "zf_spi.h"
|
#include "zf_spi.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
|
||||||
#define MAX_BAUD 50000000
|
#define MAX_BAUD 50000000
|
||||||
|
|
||||||
@@ -183,7 +183,62 @@ void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_P
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8 get_spi_cs_pin(SPI_PIN_enum cs_pin)
|
||||||
|
{
|
||||||
|
if (SPI0_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI0_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI0_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI0_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI0_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI0_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI0_CS6_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI0_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI0_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI0_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
else if (SPI0_CS13_P15_0 == cs_pin) return gpio_get(P15_0);
|
||||||
|
else if (SPI1_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI1_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI1_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI1_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI1_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI1_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI1_CS6_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI1_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI1_CS8_P10_4 == cs_pin) return gpio_get(P10_4);
|
||||||
|
else if (SPI1_CS9_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI1_CS10_P10_0 == cs_pin) return gpio_get(P10_0);
|
||||||
|
else if (SPI2_CS0_P15_2 == cs_pin) return gpio_get(P15_2);
|
||||||
|
else if (SPI2_CS1_P14_2 == cs_pin) return gpio_get(P14_2);
|
||||||
|
else if (SPI2_CS2_P14_6 == cs_pin) return gpio_get(P14_6);
|
||||||
|
else if (SPI2_CS3_P14_3 == cs_pin) return gpio_get(P14_3);
|
||||||
|
else if (SPI2_CS5_P15_1 == cs_pin) return gpio_get(P15_1);
|
||||||
|
else if (SPI2_CS6_P33_13 == cs_pin) return gpio_get(P33_13);
|
||||||
|
else if (SPI2_CS7_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI2_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI2_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
|
||||||
|
else if (SPI3_CS0_P02_4 == cs_pin) return gpio_get(P02_4);
|
||||||
|
else if (SPI3_CS1_P02_0 == cs_pin) return gpio_get(P02_0);
|
||||||
|
else if (SPI3_CS1_P33_9 == cs_pin) return gpio_get(P33_9);
|
||||||
|
else if (SPI3_CS2_P02_1 == cs_pin) return gpio_get(P02_1);
|
||||||
|
else if (SPI3_CS2_P33_8 == cs_pin) return gpio_get(P33_8);
|
||||||
|
else if (SPI3_CS3_P02_2 == cs_pin) return gpio_get(P02_2);
|
||||||
|
else if (SPI3_CS4_P02_3 == cs_pin) return gpio_get(P02_3);
|
||||||
|
else if (SPI3_CS4_P23_5 == cs_pin) return gpio_get(P23_5);
|
||||||
|
else if (SPI3_CS5_P02_8 == cs_pin) return gpio_get(P02_8);
|
||||||
|
else if (SPI3_CS6_P00_8 == cs_pin) return gpio_get(P00_8);
|
||||||
|
else if (SPI3_CS7_P00_9 == cs_pin) return gpio_get(P00_9);
|
||||||
|
else if (SPI3_CS7_P33_7 == cs_pin) return gpio_get(P33_7);
|
||||||
|
else if (SPI3_CS8_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI3_CS11_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI3_CS12_P22_2 == cs_pin) return gpio_get(P22_2);
|
||||||
|
else if (SPI3_CS13_P23_1 == cs_pin) return gpio_get(P23_1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ZF_ASSERT(FALSE);
|
||||||
|
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>CS<43><53><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -335,6 +390,7 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
|
|||||||
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
||||||
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
||||||
}
|
}
|
||||||
|
while(!get_spi_cs_pin(cs_pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void lcd_init(void)
|
|||||||
lcd_writeData(0x05);
|
lcd_writeData(0x05);
|
||||||
lcd_writeIndex(0x29);
|
lcd_writeIndex(0x29);
|
||||||
|
|
||||||
lcd_clear(WHITE);//ȫ<><C8AB>
|
lcd_clear(RGB565_WHITE);//ȫ<><C8AB>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ void showimage(const unsigned char *p)
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
unsigned char picH,picL;
|
unsigned char picH,picL;
|
||||||
lcd_clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
lcd_clear(RGB565_WHITE); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
for(k=0;k<4;k++)
|
for(k=0;k<4;k++)
|
||||||
{
|
{
|
||||||
@@ -716,8 +716,8 @@ void lcd_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) lcd_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) lcd_writedata_16bit(RGB565_WHITE);
|
||||||
else lcd_writedata_16bit(BLACK);
|
else lcd_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define TFT_PENCOLOR RED
|
#define TFT_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define TFT_BGCOLOR WHITE
|
#define TFT_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
||||||
#define RED 0xF800 //<2F><>ɫ
|
#define RGB565_RED 0xF800 //<2F><>ɫ
|
||||||
#define BLUE 0x001F //<2F><>ɫ
|
#define RGB565_BLUE 0x001F //<2F><>ɫ
|
||||||
#define YELLOW 0xFFE0 //<2F><>ɫ
|
#define RGB565_YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
#define GREEN 0x07E0 //<2F><>ɫ
|
#define RGB565_GREEN 0x07E0 //<2F><>ɫ
|
||||||
#define WHITE 0xFFFF //<2F><>ɫ
|
#define RGB565_WHITE 0xFFFF //<2F><>ɫ
|
||||||
#define BLACK 0x0000 //<2F><>ɫ
|
#define RGB565_BLACK 0x0000 //<2F><>ɫ
|
||||||
#define GRAY 0X8430 //<2F><>ɫ
|
#define RGB565_GRAY 0X8430 //<2F><>ɫ
|
||||||
#define BROWN 0XBC40 //<2F><>ɫ
|
#define RGB565_BROWN 0XBC40 //<2F><>ɫ
|
||||||
#define PURPLE 0XF81F //<2F><>ɫ
|
#define RGB565_PURPLE 0XF81F //<2F><>ɫ
|
||||||
#define PINK 0XFE19 //<2F><>ɫ
|
#define RGB565_PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
extern const uint8 tft_ascii[95][16];
|
extern const uint8 tft_ascii[95][16];
|
||||||
|
|||||||
@@ -726,8 +726,8 @@ void ips114_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips114_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) ips114_writedata_16bit(RGB565_WHITE);
|
||||||
else ips114_writedata_16bit(BLACK);
|
else ips114_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define IPS114_PENCOLOR RED
|
#define IPS114_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define IPS114_BGCOLOR WHITE
|
#define IPS114_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,56 +11,50 @@
|
|||||||
* @company 成都逐飞科技有限公司
|
* @company 成都逐飞科技有限公司
|
||||||
* @author 逐飞科技(QQ3184284598)
|
* @author 逐飞科技(QQ3184284598)
|
||||||
* @version 查看doc内version文件 版本说明
|
* @version 查看doc内version文件 版本说明
|
||||||
* @Software ADS v1.2.2
|
* @Software ADS v1.5.2
|
||||||
* @Target core TC264D
|
* @Target core TC264
|
||||||
* @Taobao https://seekfree.taobao.com/
|
* @Taobao https://seekfree.taobao.com/
|
||||||
* @date 2020-3-23
|
* @date 2022-05-07
|
||||||
* @note
|
* @note
|
||||||
接线定义:
|
接线定义:
|
||||||
------------------------------------
|
------------------------------------------------------------------------
|
||||||
模块管脚 单片机管脚
|
* 模块管脚 单片机管脚
|
||||||
D0 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D0_PIN 宏定义
|
* // 双排排针 并口两寸屏 硬件引脚
|
||||||
D1 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D1_PIN 宏定义
|
* RD 查看 SEEKFREE_IPS200.h 中 IPS200_RD_PIN_PARALLEL8 宏定义
|
||||||
D2 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D2_PIN 宏定义
|
* WR 查看 SEEKFREE_IPS200.h 中 IPS200_WR_PIN_PARALLEL8 宏定义
|
||||||
D3 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D3_PIN 宏定义
|
* RS 查看 SEEKFREE_IPS200.h 中 IPS200_RS_PIN_PARALLEL8 宏定义
|
||||||
D4 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D4_PIN 宏定义
|
* RST 查看 SEEKFREE_IPS200.h 中 IPS200_RST_PIN_PARALLEL8 宏定义
|
||||||
D5 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D5_PIN 宏定义
|
* CS 查看 SEEKFREE_IPS200.h 中 IPS200_CS_PIN_PARALLEL8 宏定义
|
||||||
D6 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D6_PIN 宏定义
|
* BL 查看 SEEKFREE_IPS200.h 中 IPS200_BL_PIN_PARALLEL8 宏定义
|
||||||
D7 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D7_PIN 宏定义
|
* D0-D7 查看 SEEKFREE_IPS200.h 中 IPS200_Dx_PIN_PARALLEL8 宏定义
|
||||||
|
* VCC 3.3V电源
|
||||||
BL 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_BL_PIN 宏定义
|
* GND 电源地
|
||||||
CS 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_CS_PIN 宏定义
|
* // 单排排针 SPI 两寸屏 硬件引脚
|
||||||
RD 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RD_PIN 宏定义
|
* SCL 查看 SEEKFREE_IPS200.h 中 IPS200_SCL_PIN_SPI 宏定义
|
||||||
WR 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_WR_PIN 宏定义
|
* SDA 查看 SEEKFREE_IPS200.h 中 IPS200_SDA_PIN_SPI 宏定义
|
||||||
RS 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RS_PIN 宏定义
|
* RST 查看 SEEKFREE_IPS200.h 中 IPS200_RST_PIN_SPI 宏定义
|
||||||
RST 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RST_PIN 宏定义
|
* DC 查看 SEEKFREE_IPS200.h 中 IPS200_DC_PIN_SPI 宏定义
|
||||||
|
* CS 查看 SEEKFREE_IPS200.h 中 IPS200_CS_PIN_SPI 宏定义
|
||||||
电源引脚
|
* BL 查看 SEEKFREE_IPS200.h 中 IPS200_BL_PIN_SPI 宏定义
|
||||||
VCC 3.3V电源
|
* VCC 3.3V电源
|
||||||
GND 电源地
|
* GND 电源地
|
||||||
最大分辨率240*320
|
* 最大分辨率 320 * 240
|
||||||
------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
|
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "stdlib.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "string.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
#include "zf_stm_systick.h"
|
|
||||||
#include "zf_gpio.h"
|
|
||||||
#include "zf_assert.h"
|
|
||||||
#include "SEEKFREE_PRINTF.h"
|
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
static ips200_type_enum ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
static PIN_enum ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_w_data(uint8 dat) //写数据
|
void ips200_w_data(uint8 dat) //写数据
|
||||||
{
|
{
|
||||||
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
||||||
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
||||||
@@ -69,67 +63,94 @@ void ips200_w_data(uint8 dat) //д
|
|||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param command 命令
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_reg(uint8 command) //写命令
|
void ips200_wr_reg(uint8 command) //写命令
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(0);
|
{
|
||||||
IPS200_RD(1);
|
IPS200_DC(0);
|
||||||
IPS200_WR(0);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&command,NULL,1,1);
|
||||||
ips200_w_data(command);
|
IPS200_DC(1);
|
||||||
IPS200_WR(1);
|
}
|
||||||
IPS200_CS(1);
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(0);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(command);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 8位数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_data(uint8 dat) //向液晶屏写一个8位数据
|
void ips200_wr_data(uint8 dat) //向液晶屏写一个8位数据
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(1);
|
{
|
||||||
IPS200_RD(1);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&dat,NULL,1,1);
|
||||||
IPS200_WR(0);
|
}
|
||||||
ips200_w_data(dat);
|
else
|
||||||
IPS200_WR(1);
|
{
|
||||||
IPS200_CS(1);
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(dat);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 16位数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_data16(uint16 dat) //向液晶屏写一个16位数据
|
void ips200_wr_data16(uint16 dat) //向液晶屏写一个16位数据
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(1);
|
{
|
||||||
IPS200_RD(1);
|
uint8 dat1[2];
|
||||||
IPS200_WR(0);
|
dat1[0] = dat >> 8;
|
||||||
ips200_w_data((uint8)(dat>>8));
|
dat1[1] = (uint8)dat;
|
||||||
IPS200_WR(1);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,dat1,NULL,2,1);
|
||||||
IPS200_WR(0);
|
}
|
||||||
ips200_w_data((uint8)(dat));
|
else
|
||||||
IPS200_WR(1);
|
{
|
||||||
IPS200_CS(1);
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat>>8));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param com 命令
|
||||||
|
// @param dat 数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
@@ -143,8 +164,11 @@ void ips200_w_reg(uint8 com,uint8 dat) //д
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 设置显示区域 内部调用
|
||||||
// @param void
|
// @param x1 起始x轴坐标
|
||||||
|
// @param y1 起始y轴坐标
|
||||||
|
// @param x2 结束x轴坐标
|
||||||
|
// @param y2 结束y轴坐标
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
@@ -165,28 +189,42 @@ void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
|||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 2.0寸 IPS液晶初始化
|
// @brief 2.0寸 IPS液晶初始化
|
||||||
// @return void
|
// @return type_select 并口或者串口选择
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_init(void)
|
void ips200_init(ips200_type_enum type_select)
|
||||||
{
|
{
|
||||||
gpio_init(IPS200_D0_PIN, GPO, 0, PUSHPULL);
|
if(IPS200_TYPE_SPI == type_select)
|
||||||
gpio_init(IPS200_D1_PIN, GPO, 0, PUSHPULL);
|
{
|
||||||
gpio_init(IPS200_D2_PIN, GPO, 0, PUSHPULL);
|
ips200_display_type = IPS200_TYPE_SPI;
|
||||||
gpio_init(IPS200_D3_PIN, GPO, 0, PUSHPULL);
|
ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
gpio_init(IPS200_D4_PIN, GPO, 0, PUSHPULL);
|
spi_init(IPS200_SPIN, IPS200_SCL_PIN_SPI, IPS200_SDA_PIN_SPI, IPS200_SDA_IN_PIN_SPI, IPS200_CS_PIN_SPI, 0, 30*1000*1000);//硬件SPI初始化
|
||||||
gpio_init(IPS200_D5_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D6_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_BL_PIN_SPI,GPO,1,PUSHPULL);
|
||||||
gpio_init(IPS200_D7_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_DC_PIN_SPI,GPO,0,PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin,GPO,0,PUSHPULL);
|
||||||
gpio_init(IPS200_BL_PIN, GPO, 0, PUSHPULL);
|
}
|
||||||
gpio_init(IPS200_CS_PIN, GPO, 0, PUSHPULL);
|
else
|
||||||
gpio_init(IPS200_RST_PIN, GPO, 0, PUSHPULL);
|
{
|
||||||
gpio_init(IPS200_RS_PIN, GPO, 0, PUSHPULL);
|
ips200_display_type = IPS200_TYPE_PARALLEL8;
|
||||||
gpio_init(IPS200_WR_PIN, GPO, 0, PUSHPULL);
|
ips_rst_pin = IPS200_RST_PIN_PARALLEL8;
|
||||||
gpio_init(IPS200_RD_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_D0_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D1_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D2_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D3_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D4_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D5_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D6_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D7_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_CS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_WR_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RD_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
}
|
||||||
IPS200_BL(1);
|
IPS200_BL(1);
|
||||||
IPS200_RST(0);
|
IPS200_RST(0);
|
||||||
systick_delay_ms(STM0, 5);
|
systick_delay_ms(STM0, 5);
|
||||||
@@ -203,9 +241,6 @@ void ips200_init(void)
|
|||||||
else ips200_wr_data(0xA0);
|
else ips200_wr_data(0xA0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ips200_wr_reg(0x3A);
|
ips200_wr_reg(0x3A);
|
||||||
ips200_wr_data(0x05);
|
ips200_wr_data(0x05);
|
||||||
|
|
||||||
@@ -276,7 +311,7 @@ void ips200_init(void)
|
|||||||
ips200_wr_reg(0x21);
|
ips200_wr_reg(0x21);
|
||||||
|
|
||||||
ips200_wr_reg(0x29);
|
ips200_wr_reg(0x29);
|
||||||
ips200_clear(IPS200_BGCOLOR); //初始化为白屏
|
ips200_clear(IPS200_BGCOLOR); //初始化为白屏
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -844,8 +879,8 @@ void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips200_wr_data16(WHITE);
|
if( (temp<<j)&0x80 ) ips200_wr_data16(RGB565_WHITE);
|
||||||
else ips200_wr_data16(BLACK);
|
else ips200_wr_data16(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
|
||||||
|
/*/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2020-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _SEEKFREE_IPS200_H
|
||||||
|
#define _SEEKFREE_IPS200_H
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "zf_stm_systick.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
#include "zf_assert.h"
|
||||||
|
#include "SEEKFREE_PRINTF.h"
|
||||||
|
#include "zf_spi.h"
|
||||||
|
#include "SEEKFREE_FUN.h"
|
||||||
|
#include "SEEKFREE_FONT.h"
|
||||||
|
|
||||||
|
|
||||||
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
||||||
|
//#define RED 0xF800 //<2F><>ɫ
|
||||||
|
//#define BLUE 0x001F //<2F><>ɫ
|
||||||
|
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
|
//#define GREEN 0x07E0 //<2F><>ɫ
|
||||||
|
//#define WHITE 0xFFFF //<2F><>ɫ
|
||||||
|
//#define BLACK 0x0000 //<2F><>ɫ
|
||||||
|
//#define GRAY 0X8430 //<2F><>ɫ
|
||||||
|
//#define BROWN 0XBC40 //<2F><>ɫ
|
||||||
|
//#define PURPLE 0XF81F //<2F><>ɫ
|
||||||
|
//#define PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BGCOLOR RGB565_WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
#define IPS200_PENCOLOR RGB565_RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SPIN SPI_2 //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
||||||
|
#define IPS200_SCL_PIN_SPI SPI2_SCLK_P15_3 //<2F><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_PIN_SPI SPI2_MOSI_P15_5 //<2F><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_IN_PIN_SPI SPI2_MISO_P15_4 //<2F><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
||||||
|
#define IPS200_CS_PIN_SPI SPI2_CS0_P15_2 //<2F><><EFBFBD><EFBFBD>SPI_CS<43><53><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_RST_PIN_SPI P15_1 // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
||||||
|
#define IPS200_DC_PIN_SPI P15_0
|
||||||
|
#define IPS200_BL_PIN_SPI P15_4
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
||||||
|
#define IPS200_RD_PIN_PARALLEL8 P15_3
|
||||||
|
#define IPS200_WR_PIN_PARALLEL8 P15_5
|
||||||
|
#define IPS200_RS_PIN_PARALLEL8 P15_1
|
||||||
|
#define IPS200_RST_PIN_PARALLEL8 P15_0
|
||||||
|
#define IPS200_CS_PIN_PARALLEL8 P15_2
|
||||||
|
#define IPS200_BL_PIN_PARALLEL8 P15_4
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õõ<C3B5>
|
||||||
|
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
||||||
|
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
||||||
|
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
||||||
|
#define IPS200_D0_PIN_PARALLEL8 P11_9
|
||||||
|
#define IPS200_D1_PIN_PARALLEL8 P11_10
|
||||||
|
#define IPS200_D2_PIN_PARALLEL8 P11_11
|
||||||
|
#define IPS200_D3_PIN_PARALLEL8 P11_12
|
||||||
|
#define IPS200_D4_PIN_PARALLEL8 P13_0
|
||||||
|
#define IPS200_D5_PIN_PARALLEL8 P13_1
|
||||||
|
#define IPS200_D6_PIN_PARALLEL8 P13_2
|
||||||
|
#define IPS200_D7_PIN_PARALLEL8 P13_3
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
||||||
|
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM1 (IPS200_D0_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM2 (IPS200_D4_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RST(x) gpio_set(ips_rst_pin,x)
|
||||||
|
|
||||||
|
#define IPS200_DC(x) gpio_set(IPS200_DC_PIN_SPI,x)
|
||||||
|
|
||||||
|
#define IPS200_W 240
|
||||||
|
#define IPS200_H 320
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IPS200_TYPE_SPI, // SPI <20><><EFBFBD><EFBFBD>
|
||||||
|
IPS200_TYPE_PARALLEL8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
}ips200_type_enum;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
#define IPS200_DISPLAY_DIR 0
|
||||||
|
|
||||||
|
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_init(ips200_type_enum type_select); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
||||||
|
void ips200_w_data(uint8 dat);
|
||||||
|
void ips200_wr_reg(uint8 com);
|
||||||
|
void ips200_wr_data(uint8 dat);
|
||||||
|
void ips200_wr_data16(uint16 dat);
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat);
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
||||||
|
void ips200_clear(uint16 color);
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
||||||
|
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
/*/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
#define _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "SEEKFREE_FONT.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
|
||||||
//#define RED 0xF800 //<2F><>ɫ
|
|
||||||
//#define BLUE 0x001F //<2F><>ɫ
|
|
||||||
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
|
||||||
//#define GREEN 0x07E0 //<2F><>ɫ
|
|
||||||
//#define WHITE 0xFFFF //<2F><>ɫ
|
|
||||||
//#define BLACK 0x0000 //<2F><>ɫ
|
|
||||||
//#define GRAY 0X8430 //<2F><>ɫ
|
|
||||||
//#define BROWN 0XBC40 //<2F><>ɫ
|
|
||||||
//#define PURPLE 0XF81F //<2F><>ɫ
|
|
||||||
//#define PINK 0XFE19 //<2F><>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BGCOLOR WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
#define IPS200_PENCOLOR RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|
||||||
#define IPS200_RD_PIN P15_3
|
|
||||||
#define IPS200_WR_PIN P15_5
|
|
||||||
#define IPS200_RS_PIN P15_1
|
|
||||||
#define IPS200_RST_PIN P15_0
|
|
||||||
#define IPS200_CS_PIN P15_2
|
|
||||||
#define IPS200_BL_PIN P15_4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
|
||||||
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
|
||||||
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
|
||||||
#define IPS200_D0_PIN P11_9
|
|
||||||
#define IPS200_D1_PIN P11_10
|
|
||||||
#define IPS200_D2_PIN P11_11
|
|
||||||
#define IPS200_D3_PIN P11_12
|
|
||||||
#define IPS200_D4_PIN P13_0
|
|
||||||
#define IPS200_D5_PIN P13_1
|
|
||||||
#define IPS200_D6_PIN P13_2
|
|
||||||
#define IPS200_D7_PIN P13_3
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
||||||
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM1 (IPS200_D0_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM2 (IPS200_D4_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN,x)
|
|
||||||
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN,x)
|
|
||||||
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN,x)
|
|
||||||
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN,x)
|
|
||||||
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN,x)
|
|
||||||
#define IPS200_RST(x) gpio_set(IPS200_RST_PIN,x)
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_W 240
|
|
||||||
#define IPS200_H 320
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
#define IPS200_DISPLAY_DIR 0
|
|
||||||
|
|
||||||
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_init(void); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
|
||||||
void ips200_w_data(uint8 dat);
|
|
||||||
void ips200_wr_reg(uint8 com);
|
|
||||||
void ips200_wr_data(uint8 dat);
|
|
||||||
void ips200_wr_data16(uint16 dat);
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat);
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
|
||||||
void ips200_clear(uint16 color);
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
|
||||||
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V1.2.9
|
||||||
|
ɾ<><C9BE>SEEKFREE_IPS200_PARALLEL8<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEEKFREE_IPS200<30><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
V1.2.8
|
V1.2.8
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
#include "SEEKFREE_MMA8451.h"
|
#include "SEEKFREE_MMA8451.h"
|
||||||
#include "SEEKFREE_L3G4200D.h"
|
#include "SEEKFREE_L3G4200D.h"
|
||||||
#include "SEEKFREE_WIRELESS.h"
|
#include "SEEKFREE_WIRELESS.h"
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "SEEKFREE_7725.h"
|
#include "SEEKFREE_7725.h"
|
||||||
#include "SEEKFREE_RDA5807.h"
|
#include "SEEKFREE_RDA5807.h"
|
||||||
#include "SEEKFREE_7725_UART.h"
|
#include "SEEKFREE_7725_UART.h"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "IfxQspi.h"
|
#include "IfxQspi.h"
|
||||||
#include "zf_assert.h"
|
#include "zf_assert.h"
|
||||||
#include "zf_spi.h"
|
#include "zf_spi.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
|
||||||
#define MAX_BAUD 50000000
|
#define MAX_BAUD 50000000
|
||||||
|
|
||||||
@@ -183,7 +183,62 @@ void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_P
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8 get_spi_cs_pin(SPI_PIN_enum cs_pin)
|
||||||
|
{
|
||||||
|
if (SPI0_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI0_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI0_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI0_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI0_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI0_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI0_CS6_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI0_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI0_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI0_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
else if (SPI0_CS13_P15_0 == cs_pin) return gpio_get(P15_0);
|
||||||
|
else if (SPI1_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI1_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI1_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI1_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI1_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI1_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI1_CS6_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI1_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI1_CS8_P10_4 == cs_pin) return gpio_get(P10_4);
|
||||||
|
else if (SPI1_CS9_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI1_CS10_P10_0 == cs_pin) return gpio_get(P10_0);
|
||||||
|
else if (SPI2_CS0_P15_2 == cs_pin) return gpio_get(P15_2);
|
||||||
|
else if (SPI2_CS1_P14_2 == cs_pin) return gpio_get(P14_2);
|
||||||
|
else if (SPI2_CS2_P14_6 == cs_pin) return gpio_get(P14_6);
|
||||||
|
else if (SPI2_CS3_P14_3 == cs_pin) return gpio_get(P14_3);
|
||||||
|
else if (SPI2_CS5_P15_1 == cs_pin) return gpio_get(P15_1);
|
||||||
|
else if (SPI2_CS6_P33_13 == cs_pin) return gpio_get(P33_13);
|
||||||
|
else if (SPI2_CS7_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI2_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI2_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
|
||||||
|
else if (SPI3_CS0_P02_4 == cs_pin) return gpio_get(P02_4);
|
||||||
|
else if (SPI3_CS1_P02_0 == cs_pin) return gpio_get(P02_0);
|
||||||
|
else if (SPI3_CS1_P33_9 == cs_pin) return gpio_get(P33_9);
|
||||||
|
else if (SPI3_CS2_P02_1 == cs_pin) return gpio_get(P02_1);
|
||||||
|
else if (SPI3_CS2_P33_8 == cs_pin) return gpio_get(P33_8);
|
||||||
|
else if (SPI3_CS3_P02_2 == cs_pin) return gpio_get(P02_2);
|
||||||
|
else if (SPI3_CS4_P02_3 == cs_pin) return gpio_get(P02_3);
|
||||||
|
else if (SPI3_CS4_P23_5 == cs_pin) return gpio_get(P23_5);
|
||||||
|
else if (SPI3_CS5_P02_8 == cs_pin) return gpio_get(P02_8);
|
||||||
|
else if (SPI3_CS6_P00_8 == cs_pin) return gpio_get(P00_8);
|
||||||
|
else if (SPI3_CS7_P00_9 == cs_pin) return gpio_get(P00_9);
|
||||||
|
else if (SPI3_CS7_P33_7 == cs_pin) return gpio_get(P33_7);
|
||||||
|
else if (SPI3_CS8_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI3_CS11_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI3_CS12_P22_2 == cs_pin) return gpio_get(P22_2);
|
||||||
|
else if (SPI3_CS13_P23_1 == cs_pin) return gpio_get(P23_1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ZF_ASSERT(FALSE);
|
||||||
|
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>CS<43><53><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -335,6 +390,7 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
|
|||||||
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
||||||
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
||||||
}
|
}
|
||||||
|
while(!get_spi_cs_pin(cs_pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void lcd_init(void)
|
|||||||
lcd_writeData(0x05);
|
lcd_writeData(0x05);
|
||||||
lcd_writeIndex(0x29);
|
lcd_writeIndex(0x29);
|
||||||
|
|
||||||
lcd_clear(WHITE);//ȫ<><C8AB>
|
lcd_clear(RGB565_WHITE);//ȫ<><C8AB>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ void showimage(const unsigned char *p)
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
unsigned char picH,picL;
|
unsigned char picH,picL;
|
||||||
lcd_clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
lcd_clear(RGB565_WHITE); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
for(k=0;k<4;k++)
|
for(k=0;k<4;k++)
|
||||||
{
|
{
|
||||||
@@ -716,8 +716,8 @@ void lcd_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) lcd_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) lcd_writedata_16bit(RGB565_WHITE);
|
||||||
else lcd_writedata_16bit(BLACK);
|
else lcd_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define TFT_PENCOLOR RED
|
#define TFT_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define TFT_BGCOLOR WHITE
|
#define TFT_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
||||||
#define RED 0xF800 //<2F><>ɫ
|
#define RGB565_RED 0xF800 //<2F><>ɫ
|
||||||
#define BLUE 0x001F //<2F><>ɫ
|
#define RGB565_BLUE 0x001F //<2F><>ɫ
|
||||||
#define YELLOW 0xFFE0 //<2F><>ɫ
|
#define RGB565_YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
#define GREEN 0x07E0 //<2F><>ɫ
|
#define RGB565_GREEN 0x07E0 //<2F><>ɫ
|
||||||
#define WHITE 0xFFFF //<2F><>ɫ
|
#define RGB565_WHITE 0xFFFF //<2F><>ɫ
|
||||||
#define BLACK 0x0000 //<2F><>ɫ
|
#define RGB565_BLACK 0x0000 //<2F><>ɫ
|
||||||
#define GRAY 0X8430 //<2F><>ɫ
|
#define RGB565_GRAY 0X8430 //<2F><>ɫ
|
||||||
#define BROWN 0XBC40 //<2F><>ɫ
|
#define RGB565_BROWN 0XBC40 //<2F><>ɫ
|
||||||
#define PURPLE 0XF81F //<2F><>ɫ
|
#define RGB565_PURPLE 0XF81F //<2F><>ɫ
|
||||||
#define PINK 0XFE19 //<2F><>ɫ
|
#define RGB565_PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
extern const uint8 tft_ascii[95][16];
|
extern const uint8 tft_ascii[95][16];
|
||||||
|
|||||||
@@ -726,8 +726,8 @@ void ips114_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips114_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) ips114_writedata_16bit(RGB565_WHITE);
|
||||||
else ips114_writedata_16bit(BLACK);
|
else ips114_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define IPS114_PENCOLOR RED
|
#define IPS114_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define IPS114_BGCOLOR WHITE
|
#define IPS114_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,56 +11,50 @@
|
|||||||
* @company 成都逐飞科技有限公司
|
* @company 成都逐飞科技有限公司
|
||||||
* @author 逐飞科技(QQ3184284598)
|
* @author 逐飞科技(QQ3184284598)
|
||||||
* @version 查看doc内version文件 版本说明
|
* @version 查看doc内version文件 版本说明
|
||||||
* @Software ADS v1.2.2
|
* @Software ADS v1.5.2
|
||||||
* @Target core TC264D
|
* @Target core TC264
|
||||||
* @Taobao https://seekfree.taobao.com/
|
* @Taobao https://seekfree.taobao.com/
|
||||||
* @date 2020-3-23
|
* @date 2022-05-07
|
||||||
* @note
|
* @note
|
||||||
接线定义:
|
接线定义:
|
||||||
------------------------------------
|
------------------------------------------------------------------------
|
||||||
模块管脚 单片机管脚
|
* 模块管脚 单片机管脚
|
||||||
D0 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D0_PIN 宏定义
|
* // 双排排针 并口两寸屏 硬件引脚
|
||||||
D1 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D1_PIN 宏定义
|
* RD 查看 SEEKFREE_IPS200.h 中 IPS200_RD_PIN_PARALLEL8 宏定义
|
||||||
D2 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D2_PIN 宏定义
|
* WR 查看 SEEKFREE_IPS200.h 中 IPS200_WR_PIN_PARALLEL8 宏定义
|
||||||
D3 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D3_PIN 宏定义
|
* RS 查看 SEEKFREE_IPS200.h 中 IPS200_RS_PIN_PARALLEL8 宏定义
|
||||||
D4 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D4_PIN 宏定义
|
* RST 查看 SEEKFREE_IPS200.h 中 IPS200_RST_PIN_PARALLEL8 宏定义
|
||||||
D5 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D5_PIN 宏定义
|
* CS 查看 SEEKFREE_IPS200.h 中 IPS200_CS_PIN_PARALLEL8 宏定义
|
||||||
D6 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D6_PIN 宏定义
|
* BL 查看 SEEKFREE_IPS200.h 中 IPS200_BL_PIN_PARALLEL8 宏定义
|
||||||
D7 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_D7_PIN 宏定义
|
* D0-D7 查看 SEEKFREE_IPS200.h 中 IPS200_Dx_PIN_PARALLEL8 宏定义
|
||||||
|
* VCC 3.3V电源
|
||||||
BL 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_BL_PIN 宏定义
|
* GND 电源地
|
||||||
CS 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_CS_PIN 宏定义
|
* // 单排排针 SPI 两寸屏 硬件引脚
|
||||||
RD 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RD_PIN 宏定义
|
* SCL 查看 SEEKFREE_IPS200.h 中 IPS200_SCL_PIN_SPI 宏定义
|
||||||
WR 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_WR_PIN 宏定义
|
* SDA 查看 SEEKFREE_IPS200.h 中 IPS200_SDA_PIN_SPI 宏定义
|
||||||
RS 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RS_PIN 宏定义
|
* RST 查看 SEEKFREE_IPS200.h 中 IPS200_RST_PIN_SPI 宏定义
|
||||||
RST 查看SEEKFREE_IPS200_PARALLEL8.H文件内的IPS200_RST_PIN 宏定义
|
* DC 查看 SEEKFREE_IPS200.h 中 IPS200_DC_PIN_SPI 宏定义
|
||||||
|
* CS 查看 SEEKFREE_IPS200.h 中 IPS200_CS_PIN_SPI 宏定义
|
||||||
电源引脚
|
* BL 查看 SEEKFREE_IPS200.h 中 IPS200_BL_PIN_SPI 宏定义
|
||||||
VCC 3.3V电源
|
* VCC 3.3V电源
|
||||||
GND 电源地
|
* GND 电源地
|
||||||
最大分辨率240*320
|
* 最大分辨率 320 * 240
|
||||||
------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
|
|
||||||
********************************************************************************************************************/
|
********************************************************************************************************************/
|
||||||
|
|
||||||
#include "stdlib.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "string.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
#include "zf_stm_systick.h"
|
|
||||||
#include "zf_gpio.h"
|
|
||||||
#include "zf_assert.h"
|
|
||||||
#include "SEEKFREE_PRINTF.h"
|
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
static ips200_type_enum ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
static PIN_enum ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_w_data(uint8 dat) //写数据
|
void ips200_w_data(uint8 dat) //写数据
|
||||||
{
|
{
|
||||||
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
||||||
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
||||||
@@ -69,67 +63,94 @@ void ips200_w_data(uint8 dat) //д
|
|||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param command 命令
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_reg(uint8 command) //写命令
|
void ips200_wr_reg(uint8 command) //写命令
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(0);
|
{
|
||||||
IPS200_RD(1);
|
IPS200_DC(0);
|
||||||
IPS200_WR(0);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&command,NULL,1,1);
|
||||||
ips200_w_data(command);
|
IPS200_DC(1);
|
||||||
IPS200_WR(1);
|
}
|
||||||
IPS200_CS(1);
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(0);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(command);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 8位数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_data(uint8 dat) //向液晶屏写一个8位数据
|
void ips200_wr_data(uint8 dat) //向液晶屏写一个8位数据
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(1);
|
{
|
||||||
IPS200_RD(1);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&dat,NULL,1,1);
|
||||||
IPS200_WR(0);
|
}
|
||||||
ips200_w_data(dat);
|
else
|
||||||
IPS200_WR(1);
|
{
|
||||||
IPS200_CS(1);
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(dat);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param dat 16位数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_wr_data16(uint16 dat) //向液晶屏写一个16位数据
|
void ips200_wr_data16(uint16 dat) //向液晶屏写一个16位数据
|
||||||
{
|
{
|
||||||
IPS200_CS(0);
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
IPS200_RS(1);
|
{
|
||||||
IPS200_RD(1);
|
uint8 dat1[2];
|
||||||
IPS200_WR(0);
|
dat1[0] = dat >> 8;
|
||||||
ips200_w_data((uint8)(dat>>8));
|
dat1[1] = (uint8)dat;
|
||||||
IPS200_WR(1);
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,dat1,NULL,2,1);
|
||||||
IPS200_WR(0);
|
}
|
||||||
ips200_w_data((uint8)(dat));
|
else
|
||||||
IPS200_WR(1);
|
{
|
||||||
IPS200_CS(1);
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat>>8));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 内部调用,用户无需关心
|
||||||
// @param void
|
// @param com 命令
|
||||||
|
// @param dat 数据
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
@@ -143,8 +164,11 @@ void ips200_w_reg(uint8 com,uint8 dat) //д
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 内部调用,用户无需关心
|
// @brief 设置显示区域 内部调用
|
||||||
// @param void
|
// @param x1 起始x轴坐标
|
||||||
|
// @param y1 起始y轴坐标
|
||||||
|
// @param x2 结束x轴坐标
|
||||||
|
// @param y2 结束y轴坐标
|
||||||
// @return
|
// @return
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
@@ -165,28 +189,42 @@ void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
|||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// @brief 2.0寸 IPS液晶初始化
|
// @brief 2.0寸 IPS液晶初始化
|
||||||
// @return void
|
// @return type_select 并口或者串口选择
|
||||||
// @since v1.0
|
// @since v1.0
|
||||||
// Sample usage:
|
// Sample usage:
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
void ips200_init(void)
|
void ips200_init(ips200_type_enum type_select)
|
||||||
{
|
{
|
||||||
gpio_init(IPS200_D0_PIN, GPO, 0, PUSHPULL);
|
if(IPS200_TYPE_SPI == type_select)
|
||||||
gpio_init(IPS200_D1_PIN, GPO, 0, PUSHPULL);
|
{
|
||||||
gpio_init(IPS200_D2_PIN, GPO, 0, PUSHPULL);
|
ips200_display_type = IPS200_TYPE_SPI;
|
||||||
gpio_init(IPS200_D3_PIN, GPO, 0, PUSHPULL);
|
ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
gpio_init(IPS200_D4_PIN, GPO, 0, PUSHPULL);
|
spi_init(IPS200_SPIN, IPS200_SCL_PIN_SPI, IPS200_SDA_PIN_SPI, IPS200_SDA_IN_PIN_SPI, IPS200_CS_PIN_SPI, 0, 30*1000*1000);//硬件SPI初始化
|
||||||
gpio_init(IPS200_D5_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D6_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_BL_PIN_SPI,GPO,1,PUSHPULL);
|
||||||
gpio_init(IPS200_D7_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_DC_PIN_SPI,GPO,0,PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin,GPO,0,PUSHPULL);
|
||||||
gpio_init(IPS200_BL_PIN, GPO, 0, PUSHPULL);
|
}
|
||||||
gpio_init(IPS200_CS_PIN, GPO, 0, PUSHPULL);
|
else
|
||||||
gpio_init(IPS200_RST_PIN, GPO, 0, PUSHPULL);
|
{
|
||||||
gpio_init(IPS200_RS_PIN, GPO, 0, PUSHPULL);
|
ips200_display_type = IPS200_TYPE_PARALLEL8;
|
||||||
gpio_init(IPS200_WR_PIN, GPO, 0, PUSHPULL);
|
ips_rst_pin = IPS200_RST_PIN_PARALLEL8;
|
||||||
gpio_init(IPS200_RD_PIN, GPO, 0, PUSHPULL);
|
gpio_init(IPS200_D0_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D1_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D2_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D3_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D4_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D5_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D6_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D7_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_CS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_WR_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RD_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
}
|
||||||
IPS200_BL(1);
|
IPS200_BL(1);
|
||||||
IPS200_RST(0);
|
IPS200_RST(0);
|
||||||
systick_delay_ms(STM0, 5);
|
systick_delay_ms(STM0, 5);
|
||||||
@@ -203,9 +241,6 @@ void ips200_init(void)
|
|||||||
else ips200_wr_data(0xA0);
|
else ips200_wr_data(0xA0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ips200_wr_reg(0x3A);
|
ips200_wr_reg(0x3A);
|
||||||
ips200_wr_data(0x05);
|
ips200_wr_data(0x05);
|
||||||
|
|
||||||
@@ -276,7 +311,7 @@ void ips200_init(void)
|
|||||||
ips200_wr_reg(0x21);
|
ips200_wr_reg(0x21);
|
||||||
|
|
||||||
ips200_wr_reg(0x29);
|
ips200_wr_reg(0x29);
|
||||||
ips200_clear(IPS200_BGCOLOR); //初始化为白屏
|
ips200_clear(IPS200_BGCOLOR); //初始化为白屏
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -844,8 +879,8 @@ void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips200_wr_data16(WHITE);
|
if( (temp<<j)&0x80 ) ips200_wr_data16(RGB565_WHITE);
|
||||||
else ips200_wr_data16(BLACK);
|
else ips200_wr_data16(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
|
||||||
|
/*/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2020-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _SEEKFREE_IPS200_H
|
||||||
|
#define _SEEKFREE_IPS200_H
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "zf_stm_systick.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
#include "zf_assert.h"
|
||||||
|
#include "SEEKFREE_PRINTF.h"
|
||||||
|
#include "zf_spi.h"
|
||||||
|
#include "SEEKFREE_FUN.h"
|
||||||
|
#include "SEEKFREE_FONT.h"
|
||||||
|
|
||||||
|
|
||||||
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
||||||
|
//#define RED 0xF800 //<2F><>ɫ
|
||||||
|
//#define BLUE 0x001F //<2F><>ɫ
|
||||||
|
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
|
//#define GREEN 0x07E0 //<2F><>ɫ
|
||||||
|
//#define WHITE 0xFFFF //<2F><>ɫ
|
||||||
|
//#define BLACK 0x0000 //<2F><>ɫ
|
||||||
|
//#define GRAY 0X8430 //<2F><>ɫ
|
||||||
|
//#define BROWN 0XBC40 //<2F><>ɫ
|
||||||
|
//#define PURPLE 0XF81F //<2F><>ɫ
|
||||||
|
//#define PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BGCOLOR RGB565_WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
#define IPS200_PENCOLOR RGB565_RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SPIN SPI_2 //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
||||||
|
#define IPS200_SCL_PIN_SPI SPI2_SCLK_P15_3 //<2F><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_PIN_SPI SPI2_MOSI_P15_5 //<2F><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_IN_PIN_SPI SPI2_MISO_P15_4 //<2F><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
||||||
|
#define IPS200_CS_PIN_SPI SPI2_CS0_P15_2 //<2F><><EFBFBD><EFBFBD>SPI_CS<43><53><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_RST_PIN_SPI P15_1 // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
||||||
|
#define IPS200_DC_PIN_SPI P15_0
|
||||||
|
#define IPS200_BL_PIN_SPI P15_4
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
||||||
|
#define IPS200_RD_PIN_PARALLEL8 P15_3
|
||||||
|
#define IPS200_WR_PIN_PARALLEL8 P15_5
|
||||||
|
#define IPS200_RS_PIN_PARALLEL8 P15_1
|
||||||
|
#define IPS200_RST_PIN_PARALLEL8 P15_0
|
||||||
|
#define IPS200_CS_PIN_PARALLEL8 P15_2
|
||||||
|
#define IPS200_BL_PIN_PARALLEL8 P15_4
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õõ<C3B5>
|
||||||
|
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
||||||
|
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
||||||
|
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
||||||
|
#define IPS200_D0_PIN_PARALLEL8 P11_9
|
||||||
|
#define IPS200_D1_PIN_PARALLEL8 P11_10
|
||||||
|
#define IPS200_D2_PIN_PARALLEL8 P11_11
|
||||||
|
#define IPS200_D3_PIN_PARALLEL8 P11_12
|
||||||
|
#define IPS200_D4_PIN_PARALLEL8 P13_0
|
||||||
|
#define IPS200_D5_PIN_PARALLEL8 P13_1
|
||||||
|
#define IPS200_D6_PIN_PARALLEL8 P13_2
|
||||||
|
#define IPS200_D7_PIN_PARALLEL8 P13_3
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
||||||
|
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM1 (IPS200_D0_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM2 (IPS200_D4_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RST(x) gpio_set(ips_rst_pin,x)
|
||||||
|
|
||||||
|
#define IPS200_DC(x) gpio_set(IPS200_DC_PIN_SPI,x)
|
||||||
|
|
||||||
|
#define IPS200_W 240
|
||||||
|
#define IPS200_H 320
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IPS200_TYPE_SPI, // SPI <20><><EFBFBD><EFBFBD>
|
||||||
|
IPS200_TYPE_PARALLEL8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
}ips200_type_enum;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
#define IPS200_DISPLAY_DIR 0
|
||||||
|
|
||||||
|
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_init(ips200_type_enum type_select); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
||||||
|
void ips200_w_data(uint8 dat);
|
||||||
|
void ips200_wr_reg(uint8 com);
|
||||||
|
void ips200_wr_data(uint8 dat);
|
||||||
|
void ips200_wr_data16(uint16 dat);
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat);
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
||||||
|
void ips200_clear(uint16 color);
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
||||||
|
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
/*/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
#define _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "SEEKFREE_FONT.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
|
||||||
//#define RED 0xF800 //<2F><>ɫ
|
|
||||||
//#define BLUE 0x001F //<2F><>ɫ
|
|
||||||
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
|
||||||
//#define GREEN 0x07E0 //<2F><>ɫ
|
|
||||||
//#define WHITE 0xFFFF //<2F><>ɫ
|
|
||||||
//#define BLACK 0x0000 //<2F><>ɫ
|
|
||||||
//#define GRAY 0X8430 //<2F><>ɫ
|
|
||||||
//#define BROWN 0XBC40 //<2F><>ɫ
|
|
||||||
//#define PURPLE 0XF81F //<2F><>ɫ
|
|
||||||
//#define PINK 0XFE19 //<2F><>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BGCOLOR WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
#define IPS200_PENCOLOR RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|
||||||
#define IPS200_RD_PIN P15_3
|
|
||||||
#define IPS200_WR_PIN P15_5
|
|
||||||
#define IPS200_RS_PIN P15_1
|
|
||||||
#define IPS200_RST_PIN P15_0
|
|
||||||
#define IPS200_CS_PIN P15_2
|
|
||||||
#define IPS200_BL_PIN P15_4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
|
||||||
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
|
||||||
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
|
||||||
#define IPS200_D0_PIN P11_9
|
|
||||||
#define IPS200_D1_PIN P11_10
|
|
||||||
#define IPS200_D2_PIN P11_11
|
|
||||||
#define IPS200_D3_PIN P11_12
|
|
||||||
#define IPS200_D4_PIN P13_0
|
|
||||||
#define IPS200_D5_PIN P13_1
|
|
||||||
#define IPS200_D6_PIN P13_2
|
|
||||||
#define IPS200_D7_PIN P13_3
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
||||||
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM1 (IPS200_D0_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM2 (IPS200_D4_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN,x)
|
|
||||||
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN,x)
|
|
||||||
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN,x)
|
|
||||||
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN,x)
|
|
||||||
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN,x)
|
|
||||||
#define IPS200_RST(x) gpio_set(IPS200_RST_PIN,x)
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_W 240
|
|
||||||
#define IPS200_H 320
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
#define IPS200_DISPLAY_DIR 0
|
|
||||||
|
|
||||||
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_init(void); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
|
||||||
void ips200_w_data(uint8 dat);
|
|
||||||
void ips200_wr_reg(uint8 com);
|
|
||||||
void ips200_wr_data(uint8 dat);
|
|
||||||
void ips200_wr_data16(uint16 dat);
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat);
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
|
||||||
void ips200_clear(uint16 color);
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
|
||||||
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V1.2.9
|
||||||
|
ɾ<><C9BE>SEEKFREE_IPS200_PARALLEL8<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEEKFREE_IPS200<30><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
V1.2.8
|
V1.2.8
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
#include "SEEKFREE_MMA8451.h"
|
#include "SEEKFREE_MMA8451.h"
|
||||||
#include "SEEKFREE_L3G4200D.h"
|
#include "SEEKFREE_L3G4200D.h"
|
||||||
#include "SEEKFREE_WIRELESS.h"
|
#include "SEEKFREE_WIRELESS.h"
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "SEEKFREE_7725.h"
|
#include "SEEKFREE_7725.h"
|
||||||
#include "SEEKFREE_RDA5807.h"
|
#include "SEEKFREE_RDA5807.h"
|
||||||
#include "SEEKFREE_7725_UART.h"
|
#include "SEEKFREE_7725_UART.h"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "IfxQspi.h"
|
#include "IfxQspi.h"
|
||||||
#include "zf_assert.h"
|
#include "zf_assert.h"
|
||||||
#include "zf_spi.h"
|
#include "zf_spi.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
|
||||||
#define MAX_BAUD 50000000
|
#define MAX_BAUD 50000000
|
||||||
|
|
||||||
@@ -183,7 +183,62 @@ void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_P
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8 get_spi_cs_pin(SPI_PIN_enum cs_pin)
|
||||||
|
{
|
||||||
|
if (SPI0_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI0_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI0_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI0_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI0_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI0_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI0_CS6_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI0_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI0_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI0_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
else if (SPI0_CS13_P15_0 == cs_pin) return gpio_get(P15_0);
|
||||||
|
else if (SPI1_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI1_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI1_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI1_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI1_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI1_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI1_CS6_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI1_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI1_CS8_P10_4 == cs_pin) return gpio_get(P10_4);
|
||||||
|
else if (SPI1_CS9_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI1_CS10_P10_0 == cs_pin) return gpio_get(P10_0);
|
||||||
|
else if (SPI2_CS0_P15_2 == cs_pin) return gpio_get(P15_2);
|
||||||
|
else if (SPI2_CS1_P14_2 == cs_pin) return gpio_get(P14_2);
|
||||||
|
else if (SPI2_CS2_P14_6 == cs_pin) return gpio_get(P14_6);
|
||||||
|
else if (SPI2_CS3_P14_3 == cs_pin) return gpio_get(P14_3);
|
||||||
|
else if (SPI2_CS5_P15_1 == cs_pin) return gpio_get(P15_1);
|
||||||
|
else if (SPI2_CS6_P33_13 == cs_pin) return gpio_get(P33_13);
|
||||||
|
else if (SPI2_CS7_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI2_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI2_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
|
||||||
|
else if (SPI3_CS0_P02_4 == cs_pin) return gpio_get(P02_4);
|
||||||
|
else if (SPI3_CS1_P02_0 == cs_pin) return gpio_get(P02_0);
|
||||||
|
else if (SPI3_CS1_P33_9 == cs_pin) return gpio_get(P33_9);
|
||||||
|
else if (SPI3_CS2_P02_1 == cs_pin) return gpio_get(P02_1);
|
||||||
|
else if (SPI3_CS2_P33_8 == cs_pin) return gpio_get(P33_8);
|
||||||
|
else if (SPI3_CS3_P02_2 == cs_pin) return gpio_get(P02_2);
|
||||||
|
else if (SPI3_CS4_P02_3 == cs_pin) return gpio_get(P02_3);
|
||||||
|
else if (SPI3_CS4_P23_5 == cs_pin) return gpio_get(P23_5);
|
||||||
|
else if (SPI3_CS5_P02_8 == cs_pin) return gpio_get(P02_8);
|
||||||
|
else if (SPI3_CS6_P00_8 == cs_pin) return gpio_get(P00_8);
|
||||||
|
else if (SPI3_CS7_P00_9 == cs_pin) return gpio_get(P00_9);
|
||||||
|
else if (SPI3_CS7_P33_7 == cs_pin) return gpio_get(P33_7);
|
||||||
|
else if (SPI3_CS8_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI3_CS11_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI3_CS12_P22_2 == cs_pin) return gpio_get(P22_2);
|
||||||
|
else if (SPI3_CS13_P23_1 == cs_pin) return gpio_get(P23_1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ZF_ASSERT(FALSE);
|
||||||
|
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>CS<43><53><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -335,6 +390,7 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
|
|||||||
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
||||||
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
||||||
}
|
}
|
||||||
|
while(!get_spi_cs_pin(cs_pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void lcd_init(void)
|
|||||||
lcd_writeData(0x05);
|
lcd_writeData(0x05);
|
||||||
lcd_writeIndex(0x29);
|
lcd_writeIndex(0x29);
|
||||||
|
|
||||||
lcd_clear(WHITE);//ȫ<><C8AB>
|
lcd_clear(RGB565_WHITE);//ȫ<><C8AB>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ void showimage(const unsigned char *p)
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
unsigned char picH,picL;
|
unsigned char picH,picL;
|
||||||
lcd_clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
lcd_clear(RGB565_WHITE); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
for(k=0;k<4;k++)
|
for(k=0;k<4;k++)
|
||||||
{
|
{
|
||||||
@@ -716,8 +716,8 @@ void lcd_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) lcd_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) lcd_writedata_16bit(RGB565_WHITE);
|
||||||
else lcd_writedata_16bit(BLACK);
|
else lcd_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define TFT_PENCOLOR RED
|
#define TFT_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define TFT_BGCOLOR WHITE
|
#define TFT_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
||||||
#define RED 0xF800 //<2F><>ɫ
|
#define RGB565_RED 0xF800 //<2F><>ɫ
|
||||||
#define BLUE 0x001F //<2F><>ɫ
|
#define RGB565_BLUE 0x001F //<2F><>ɫ
|
||||||
#define YELLOW 0xFFE0 //<2F><>ɫ
|
#define RGB565_YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
#define GREEN 0x07E0 //<2F><>ɫ
|
#define RGB565_GREEN 0x07E0 //<2F><>ɫ
|
||||||
#define WHITE 0xFFFF //<2F><>ɫ
|
#define RGB565_WHITE 0xFFFF //<2F><>ɫ
|
||||||
#define BLACK 0x0000 //<2F><>ɫ
|
#define RGB565_BLACK 0x0000 //<2F><>ɫ
|
||||||
#define GRAY 0X8430 //<2F><>ɫ
|
#define RGB565_GRAY 0X8430 //<2F><>ɫ
|
||||||
#define BROWN 0XBC40 //<2F><>ɫ
|
#define RGB565_BROWN 0XBC40 //<2F><>ɫ
|
||||||
#define PURPLE 0XF81F //<2F><>ɫ
|
#define RGB565_PURPLE 0XF81F //<2F><>ɫ
|
||||||
#define PINK 0XFE19 //<2F><>ɫ
|
#define RGB565_PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
extern const uint8 tft_ascii[95][16];
|
extern const uint8 tft_ascii[95][16];
|
||||||
|
|||||||
@@ -726,8 +726,8 @@ void ips114_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips114_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) ips114_writedata_16bit(RGB565_WHITE);
|
||||||
else ips114_writedata_16bit(BLACK);
|
else ips114_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define IPS114_PENCOLOR RED
|
#define IPS114_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define IPS114_BGCOLOR WHITE
|
#define IPS114_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,931 @@
|
|||||||
|
/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2022-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#include "SEEKFREE_IPS200.h"
|
||||||
|
|
||||||
|
static ips200_type_enum ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
static PIN_enum ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_w_data(uint8 dat) //д<><D0B4><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
||||||
|
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param command <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_reg(uint8 command) //д<><D0B4><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
IPS200_DC(0);
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&command,NULL,1,1);
|
||||||
|
IPS200_DC(1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(0);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(command);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat 8λ<38><CEBB><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_data(uint8 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>8λ<38><CEBB><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&dat,NULL,1,1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(dat);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat 16λ<36><CEBB><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_data16(uint16 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>16λ<36><CEBB><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
uint8 dat1[2];
|
||||||
|
dat1[0] = dat >> 8;
|
||||||
|
dat1[1] = (uint8)dat;
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,dat1,NULL,2,1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat>>8));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param com <20><><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat) //д<>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
{
|
||||||
|
ips200_wr_reg(com);
|
||||||
|
ips200_wr_data(dat);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x1 <20><>ʼx<CABC><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y1 <20><>ʼy<CABC><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x2 <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y2 <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
||||||
|
{
|
||||||
|
ips200_wr_reg(0x2a);
|
||||||
|
ips200_wr_data16(x1);
|
||||||
|
ips200_wr_data16(x2);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x2b);
|
||||||
|
ips200_wr_data16(y1);
|
||||||
|
ips200_wr_data16(y2);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x2c);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief 2.0<EFBFBD><EFBFBD> IPSҺ<53><D2BA><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
||||||
|
// @return type_select <20><><EFBFBD>ڻ<EFBFBD><DABB>ߴ<EFBFBD><DFB4><EFBFBD>ѡ<EFBFBD><D1A1>
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_init(ips200_type_enum type_select)
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == type_select)
|
||||||
|
{
|
||||||
|
ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
|
spi_init(IPS200_SPIN, IPS200_SCL_PIN_SPI, IPS200_SDA_PIN_SPI, IPS200_SDA_IN_PIN_SPI, IPS200_CS_PIN_SPI, 0, 30*1000*1000);//Ӳ<><D3B2>SPI<50><49>ʼ<EFBFBD><CABC>
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_SPI,GPO,1,PUSHPULL);
|
||||||
|
gpio_init(IPS200_DC_PIN_SPI,GPO,0,PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin,GPO,0,PUSHPULL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ips200_display_type = IPS200_TYPE_PARALLEL8;
|
||||||
|
ips_rst_pin = IPS200_RST_PIN_PARALLEL8;
|
||||||
|
gpio_init(IPS200_D0_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D1_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D2_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D3_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D4_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D5_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D6_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D7_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_CS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_WR_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RD_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
}
|
||||||
|
IPS200_BL(1);
|
||||||
|
IPS200_RST(0);
|
||||||
|
systick_delay_ms(STM0, 5);
|
||||||
|
IPS200_RST(1);
|
||||||
|
systick_delay_ms(STM0, 5);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x11);
|
||||||
|
systick_delay_ms(STM0, 120);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x36);
|
||||||
|
if (IPS200_DISPLAY_DIR==0) ips200_wr_data(0x00);
|
||||||
|
else if (IPS200_DISPLAY_DIR==1) ips200_wr_data(0xC0);
|
||||||
|
else if (IPS200_DISPLAY_DIR==2) ips200_wr_data(0x70);
|
||||||
|
else ips200_wr_data(0xA0);
|
||||||
|
|
||||||
|
|
||||||
|
ips200_wr_reg(0x3A);
|
||||||
|
ips200_wr_data(0x05);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xB2);
|
||||||
|
ips200_wr_data(0x0C);
|
||||||
|
ips200_wr_data(0x0C);
|
||||||
|
ips200_wr_data(0x00);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xB7);
|
||||||
|
ips200_wr_data(0x35);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xBB);
|
||||||
|
ips200_wr_data(0x29); //32 Vcom=1.35V
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC2);
|
||||||
|
ips200_wr_data(0x01);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC3);
|
||||||
|
ips200_wr_data(0x19); //GVDD=4.8V
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC4);
|
||||||
|
ips200_wr_data(0x20); //VDV, 0x20:0v
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC5);
|
||||||
|
ips200_wr_data(0x1A);//VCOM Offset Set
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC6);
|
||||||
|
ips200_wr_data(0x01F); //0x0F:60Hz
|
||||||
|
|
||||||
|
ips200_wr_reg(0xD0);
|
||||||
|
ips200_wr_data(0xA4);
|
||||||
|
ips200_wr_data(0xA1);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xE0);
|
||||||
|
ips200_wr_data(0xD0);
|
||||||
|
ips200_wr_data(0x08);
|
||||||
|
ips200_wr_data(0x0E);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x05);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x48);
|
||||||
|
ips200_wr_data(0x17);
|
||||||
|
ips200_wr_data(0x14);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x34);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xE1);
|
||||||
|
ips200_wr_data(0xD0);
|
||||||
|
ips200_wr_data(0x08);
|
||||||
|
ips200_wr_data(0x0E);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x48);
|
||||||
|
ips200_wr_data(0x17);
|
||||||
|
ips200_wr_data(0x14);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x34);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x21);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x29);
|
||||||
|
ips200_clear(IPS200_BGCOLOR); //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param color <09><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_clear(YELLOW);// ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_clear(uint16 color)
|
||||||
|
{
|
||||||
|
uint16 i,j;
|
||||||
|
ips200_address_set(0,0,IPS200_X_MAX-1,IPS200_Y_MAX-1);
|
||||||
|
for(i=0;i<IPS200_X_MAX;i++)
|
||||||
|
{
|
||||||
|
for (j=0;j<IPS200_Y_MAX;j++)
|
||||||
|
{
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ɫ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_drawpoint(0,0,RED); //<2F><><EFBFBD><EFBFBD>0,0<><30>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫ<EFBFBD>ĵ<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color)
|
||||||
|
{
|
||||||
|
ips200_address_set(x,y,x,y);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showchar(0,0,'x');//<2F><><EFBFBD><EFBFBD>0,0дһ<D0B4><D2BB><EFBFBD>ַ<EFBFBD>x
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat)
|
||||||
|
{
|
||||||
|
uint8 i,j;
|
||||||
|
uint8 temp;
|
||||||
|
|
||||||
|
for(i=0; i<16; i++)
|
||||||
|
{
|
||||||
|
ips200_address_set(x,y+i,x+7,y+i);
|
||||||
|
temp = tft_ascii[(uint16)dat-32][i];//<2F><>32<33><32>Ϊ<EFBFBD><CEAA>ȡģ<C8A1>Ǵӿո<D3BF><D5B8><EFBFBD>ʼȡ<CABC><C8A1> <20>ո<EFBFBD><D5B8><EFBFBD>ascii<69><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32
|
||||||
|
for(j=0; j<8; j++)
|
||||||
|
{
|
||||||
|
if(temp&0x01) ips200_wr_data16(IPS200_PENCOLOR);
|
||||||
|
else ips200_wr_data16(IPS200_BGCOLOR);
|
||||||
|
temp>>=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showstr(0,0,"seekfree");
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[])
|
||||||
|
{
|
||||||
|
uint16 j;
|
||||||
|
|
||||||
|
j = 0;
|
||||||
|
while(dat[j] != '\0')
|
||||||
|
{
|
||||||
|
ips200_showchar(x+8*j,y*16,dat[j]);
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38>з<EFBFBD><D0B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int8
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint8(0,0,x);//xΪint8<74><38><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat)
|
||||||
|
{
|
||||||
|
uint8 a[3];
|
||||||
|
uint8 i;
|
||||||
|
if(dat<0)
|
||||||
|
{
|
||||||
|
ips200_showchar(x,y*16,'-');
|
||||||
|
dat = -dat;
|
||||||
|
}
|
||||||
|
else ips200_showchar(x,y*16,' ');
|
||||||
|
|
||||||
|
a[0] = dat/100;
|
||||||
|
a[1] = dat/10%10;
|
||||||
|
a[2] = dat%10;
|
||||||
|
i = 0;
|
||||||
|
while(i<3)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint8
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showuint8(0,0,x);//xΪuint8<74><38><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat)
|
||||||
|
{
|
||||||
|
uint8 a[3];
|
||||||
|
uint8 i;
|
||||||
|
|
||||||
|
a[0] = dat/100;
|
||||||
|
a[1] = dat/10%10;
|
||||||
|
a[2] = dat%10;
|
||||||
|
i = 0;
|
||||||
|
while(i<3)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36>з<EFBFBD><D0B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int16
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint16(0,0,x);//xΪint16<31><36><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat)
|
||||||
|
{
|
||||||
|
uint8 a[5];
|
||||||
|
uint8 i;
|
||||||
|
if(dat<0)
|
||||||
|
{
|
||||||
|
ips200_showchar(x,y*16,'-');
|
||||||
|
dat = -dat;
|
||||||
|
}
|
||||||
|
else ips200_showchar(x,y*16,' ');
|
||||||
|
|
||||||
|
a[0] = dat/10000;
|
||||||
|
a[1] = dat/1000%10;
|
||||||
|
a[2] = dat/100%10;
|
||||||
|
a[3] = dat/10%10;
|
||||||
|
a[4] = dat%10;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while(i<5)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint16
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showuint16(0,0,x);//xΪuint16<31><36><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat)
|
||||||
|
{
|
||||||
|
uint8 a[5];
|
||||||
|
uint8 i;
|
||||||
|
|
||||||
|
a[0] = dat/10000;
|
||||||
|
a[1] = dat/1000%10;
|
||||||
|
a[2] = dat/100%10;
|
||||||
|
a[3] = dat/10%10;
|
||||||
|
a[4] = dat%10;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while(i<5)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ32λ<32>з<EFBFBD><D0B7><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint32
|
||||||
|
// @param num <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB> <20><><EFBFBD><EFBFBD>10λ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint32(0,0,x,3);//x<><78><EFBFBD><EFBFBD>Ϊint32 uint16 int16 uint8 int8<74><38><EFBFBD><EFBFBD>
|
||||||
|
// Sample usage: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num)
|
||||||
|
{
|
||||||
|
int8 buff[34];
|
||||||
|
uint32 length;
|
||||||
|
|
||||||
|
if(10<num) num = 10;
|
||||||
|
|
||||||
|
|
||||||
|
num++;
|
||||||
|
if(0>dat) length = zf_sprintf(&buff[0],"%d",dat);//<2F><><EFBFBD><EFBFBD>
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buff[0] = ' ';
|
||||||
|
length = zf_sprintf(&buff[1],"%d",dat);
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
while(length < num)
|
||||||
|
{
|
||||||
|
buff[length] = ' ';
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
buff[num] = '\0';
|
||||||
|
|
||||||
|
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<61><74>double
|
||||||
|
// @param num <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>10λ
|
||||||
|
// @param pointnum С<><D0A1>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>6λ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips_showfloat(0,0,x,2,3);//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2λ С<><D0A1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ
|
||||||
|
// @note <20>ر<EFBFBD>ע<EFBFBD><EFBFBD><E2B5B1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>µģ<C2B5><C4A3>Ⲣ<EFBFBD><E2B2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬
|
||||||
|
// <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD>аٶ<D0B0>ѧϰ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>⡣
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum)
|
||||||
|
{
|
||||||
|
uint32 length;
|
||||||
|
int8 buff[34];
|
||||||
|
int8 start,end,point;
|
||||||
|
|
||||||
|
if(6<pointnum) pointnum = 6;
|
||||||
|
if(10<num) num = 10;
|
||||||
|
|
||||||
|
if(0>dat) length = zf_sprintf( &buff[0],"%f",dat);//<2F><><EFBFBD><EFBFBD>
|
||||||
|
else
|
||||||
|
{
|
||||||
|
length = zf_sprintf( &buff[1],"%f",dat);
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
point = (int8)(length - 7); //<2F><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||||
|
start = point - num - 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ
|
||||||
|
end = point + pointnum + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
||||||
|
while(0>start)//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ĩβӦ<CEB2><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>
|
||||||
|
{
|
||||||
|
buff[end] = ' ';
|
||||||
|
end++;
|
||||||
|
start++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(0>dat) buff[start] = '-';
|
||||||
|
else buff[start] = ' ';
|
||||||
|
|
||||||
|
buff[end] = '\0';
|
||||||
|
|
||||||
|
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param w ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param l ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showimage(0,0,10,20,&image);//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0,0)<29><><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>20<32><30>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
unsigned char picH,picL;
|
||||||
|
ips200_address_set(x,y,x+w-1,y+l-1);
|
||||||
|
for(i=0;i<w*l;i++)
|
||||||
|
{
|
||||||
|
picL=*(p+i*2);
|
||||||
|
picH=*(p+i*2+1);
|
||||||
|
ips200_wr_data16(picH<<8|picL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
uint16 coord_x = 0;
|
||||||
|
uint16 coord_y = 0;
|
||||||
|
|
||||||
|
coord_x = width>IPS200_X_MAX?IPS200_X_MAX:width;
|
||||||
|
coord_y = height>IPS200_Y_MAX?IPS200_Y_MAX:height;
|
||||||
|
ips200_address_set(0,0,coord_x-1,coord_y-1);
|
||||||
|
|
||||||
|
for(j=0;j<coord_y;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<coord_x;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+j*width+i*width/coord_x);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>IPS200_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032_zoom(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032_zoom1(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, 0, 0, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
||||||
|
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
||||||
|
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
||||||
|
|
||||||
|
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240);//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ɫͼ<C9AB><CDBC>
|
||||||
|
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
uint16 color = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color = ((color&0xff)<<8) | (color>>8);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_zoom1(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 0, 0, 320, 240);
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
||||||
|
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
||||||
|
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
||||||
|
|
||||||
|
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color = ((color&0xff)<<8) | (color>>8);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>Ҷ<EFBFBD>)
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_grayscale_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240)//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷͼ<CDB7><CDBC> <20><>ʾY<CABE><59><EFBFBD><EFBFBD>
|
||||||
|
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ2ʱ<32><CAB1><EFBFBD><EFBFBD>ȡY<C8A1><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ҷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
||||||
|
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
temp = temp&0xff;
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief С<><D0A1><EFBFBD><EFBFBD>(<28><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120(<28><>)*160(<28><>)<29><><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
||||||
|
{
|
||||||
|
int i,j;
|
||||||
|
|
||||||
|
uint16 temp = 0;
|
||||||
|
ips200_address_set(0,0,width-1,height-1);
|
||||||
|
for(i=0;i<height * (width/8);i++)
|
||||||
|
{
|
||||||
|
temp = *p;
|
||||||
|
p++;
|
||||||
|
for(j=0; j<8; j++)
|
||||||
|
{
|
||||||
|
if( (temp<<j)&0x80 ) ips200_wr_data16(RGB565_WHITE);
|
||||||
|
else ips200_wr_data16(RGB565_BLACK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_Y_MAX-1<><31>
|
||||||
|
// @param size ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õĵ<C3B5><C4B5><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ٸ<EFBFBD><D9B8>㣬ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ġ<EFBFBD>
|
||||||
|
// @param *p <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param number <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>λ
|
||||||
|
// @param color <20><>ʾ<EFBFBD><CABE>ɫ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_display_chinese(0,0,16,chinese_test[0],4,RED);//<2F><>ʾfont<6E>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʾ<><CABE>
|
||||||
|
// @Note ʹ<><CAB9>PCtoLCD2002<30><32><EFBFBD><EFBFBD>ȡģ <20><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>˳<EFBFBD><CBB3> 16*16
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color)
|
||||||
|
{
|
||||||
|
int i, j, k;
|
||||||
|
uint8 temp, temp1, temp2;
|
||||||
|
const uint8 *p_data;
|
||||||
|
|
||||||
|
temp2 = size/8;
|
||||||
|
|
||||||
|
ips200_address_set(x,y,number*size-1+x,y+size-1);
|
||||||
|
|
||||||
|
for(i=0;i<size;i++)
|
||||||
|
{
|
||||||
|
temp1 = number;
|
||||||
|
p_data = p+i*temp2;
|
||||||
|
while(temp1--)
|
||||||
|
{
|
||||||
|
for(k=0;k<temp2;k++)
|
||||||
|
{
|
||||||
|
for(j=8;j>0;j--)
|
||||||
|
{
|
||||||
|
temp = (*p_data>>(j-1)) & 0x01;
|
||||||
|
if(temp) ips200_wr_data16(color);
|
||||||
|
else ips200_wr_data16(IPS200_BGCOLOR);
|
||||||
|
}
|
||||||
|
p_data++;
|
||||||
|
}
|
||||||
|
p_data = p_data - temp2 + temp2*size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
|
||||||
|
/*/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2020-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _SEEKFREE_IPS200_H
|
||||||
|
#define _SEEKFREE_IPS200_H
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "zf_stm_systick.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
#include "zf_assert.h"
|
||||||
|
#include "SEEKFREE_PRINTF.h"
|
||||||
|
#include "zf_spi.h"
|
||||||
|
#include "SEEKFREE_FUN.h"
|
||||||
|
#include "SEEKFREE_FONT.h"
|
||||||
|
|
||||||
|
|
||||||
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
||||||
|
//#define RED 0xF800 //<2F><>ɫ
|
||||||
|
//#define BLUE 0x001F //<2F><>ɫ
|
||||||
|
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
|
//#define GREEN 0x07E0 //<2F><>ɫ
|
||||||
|
//#define WHITE 0xFFFF //<2F><>ɫ
|
||||||
|
//#define BLACK 0x0000 //<2F><>ɫ
|
||||||
|
//#define GRAY 0X8430 //<2F><>ɫ
|
||||||
|
//#define BROWN 0XBC40 //<2F><>ɫ
|
||||||
|
//#define PURPLE 0XF81F //<2F><>ɫ
|
||||||
|
//#define PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BGCOLOR RGB565_WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
#define IPS200_PENCOLOR RGB565_RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SPIN SPI_2 //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
||||||
|
#define IPS200_SCL_PIN_SPI SPI2_SCLK_P15_3 //<2F><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_PIN_SPI SPI2_MOSI_P15_5 //<2F><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_IN_PIN_SPI SPI2_MISO_P15_4 //<2F><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
||||||
|
#define IPS200_CS_PIN_SPI SPI2_CS0_P15_2 //<2F><><EFBFBD><EFBFBD>SPI_CS<43><53><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_RST_PIN_SPI P15_1 // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
||||||
|
#define IPS200_DC_PIN_SPI P15_0
|
||||||
|
#define IPS200_BL_PIN_SPI P15_4
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
||||||
|
#define IPS200_RD_PIN_PARALLEL8 P15_3
|
||||||
|
#define IPS200_WR_PIN_PARALLEL8 P15_5
|
||||||
|
#define IPS200_RS_PIN_PARALLEL8 P15_1
|
||||||
|
#define IPS200_RST_PIN_PARALLEL8 P15_0
|
||||||
|
#define IPS200_CS_PIN_PARALLEL8 P15_2
|
||||||
|
#define IPS200_BL_PIN_PARALLEL8 P15_4
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õõ<C3B5>
|
||||||
|
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
||||||
|
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
||||||
|
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
||||||
|
#define IPS200_D0_PIN_PARALLEL8 P11_9
|
||||||
|
#define IPS200_D1_PIN_PARALLEL8 P11_10
|
||||||
|
#define IPS200_D2_PIN_PARALLEL8 P11_11
|
||||||
|
#define IPS200_D3_PIN_PARALLEL8 P11_12
|
||||||
|
#define IPS200_D4_PIN_PARALLEL8 P13_0
|
||||||
|
#define IPS200_D5_PIN_PARALLEL8 P13_1
|
||||||
|
#define IPS200_D6_PIN_PARALLEL8 P13_2
|
||||||
|
#define IPS200_D7_PIN_PARALLEL8 P13_3
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
||||||
|
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM1 (IPS200_D0_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM2 (IPS200_D4_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RST(x) gpio_set(ips_rst_pin,x)
|
||||||
|
|
||||||
|
#define IPS200_DC(x) gpio_set(IPS200_DC_PIN_SPI,x)
|
||||||
|
|
||||||
|
#define IPS200_W 240
|
||||||
|
#define IPS200_H 320
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IPS200_TYPE_SPI, // SPI <20><><EFBFBD><EFBFBD>
|
||||||
|
IPS200_TYPE_PARALLEL8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
}ips200_type_enum;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
#define IPS200_DISPLAY_DIR 0
|
||||||
|
|
||||||
|
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_init(ips200_type_enum type_select); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
||||||
|
void ips200_w_data(uint8 dat);
|
||||||
|
void ips200_wr_reg(uint8 com);
|
||||||
|
void ips200_wr_data(uint8 dat);
|
||||||
|
void ips200_wr_data16(uint16 dat);
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat);
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
||||||
|
void ips200_clear(uint16 color);
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
||||||
|
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,896 +0,0 @@
|
|||||||
/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#include "stdlib.h"
|
|
||||||
#include "string.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
#include "zf_stm_systick.h"
|
|
||||||
#include "zf_gpio.h"
|
|
||||||
#include "zf_assert.h"
|
|
||||||
#include "SEEKFREE_PRINTF.h"
|
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_w_data(uint8 dat) //д<><D0B4><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
|
||||||
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_reg(uint8 command) //д<><D0B4><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(0);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data(command);
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_data(uint8 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>8λ<38><CEBB><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(1);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data(dat);
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_data16(uint16 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>16λ<36><CEBB><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(1);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data((uint8)(dat>>8));
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data((uint8)(dat));
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat) //д<>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
{
|
|
||||||
ips200_wr_reg(com);
|
|
||||||
ips200_wr_data(dat);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
|
||||||
{
|
|
||||||
ips200_wr_reg(0x2a);
|
|
||||||
ips200_wr_data16(x1);
|
|
||||||
ips200_wr_data16(x2);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x2b);
|
|
||||||
ips200_wr_data16(y1);
|
|
||||||
ips200_wr_data16(y2);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x2c);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief 2.0<EFBFBD><EFBFBD> IPSҺ<53><D2BA><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_init(void)
|
|
||||||
{
|
|
||||||
gpio_init(IPS200_D0_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D1_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D2_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D3_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D4_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D5_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D6_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D7_PIN, GPO, 0, PUSHPULL);
|
|
||||||
|
|
||||||
gpio_init(IPS200_BL_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_CS_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RST_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RS_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_WR_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RD_PIN, GPO, 0, PUSHPULL);
|
|
||||||
|
|
||||||
IPS200_BL(1);
|
|
||||||
IPS200_RST(0);
|
|
||||||
systick_delay_ms(STM0, 5);
|
|
||||||
IPS200_RST(1);
|
|
||||||
systick_delay_ms(STM0, 5);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x11);
|
|
||||||
systick_delay_ms(STM0, 120);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x36);
|
|
||||||
if (IPS200_DISPLAY_DIR==0) ips200_wr_data(0x00);
|
|
||||||
else if (IPS200_DISPLAY_DIR==1) ips200_wr_data(0xC0);
|
|
||||||
else if (IPS200_DISPLAY_DIR==2) ips200_wr_data(0x70);
|
|
||||||
else ips200_wr_data(0xA0);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ips200_wr_reg(0x3A);
|
|
||||||
ips200_wr_data(0x05);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xB2);
|
|
||||||
ips200_wr_data(0x0C);
|
|
||||||
ips200_wr_data(0x0C);
|
|
||||||
ips200_wr_data(0x00);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xB7);
|
|
||||||
ips200_wr_data(0x35);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xBB);
|
|
||||||
ips200_wr_data(0x29); //32 Vcom=1.35V
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC2);
|
|
||||||
ips200_wr_data(0x01);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC3);
|
|
||||||
ips200_wr_data(0x19); //GVDD=4.8V
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC4);
|
|
||||||
ips200_wr_data(0x20); //VDV, 0x20:0v
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC5);
|
|
||||||
ips200_wr_data(0x1A);//VCOM Offset Set
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC6);
|
|
||||||
ips200_wr_data(0x01F); //0x0F:60Hz
|
|
||||||
|
|
||||||
ips200_wr_reg(0xD0);
|
|
||||||
ips200_wr_data(0xA4);
|
|
||||||
ips200_wr_data(0xA1);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xE0);
|
|
||||||
ips200_wr_data(0xD0);
|
|
||||||
ips200_wr_data(0x08);
|
|
||||||
ips200_wr_data(0x0E);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x05);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x48);
|
|
||||||
ips200_wr_data(0x17);
|
|
||||||
ips200_wr_data(0x14);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x34);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xE1);
|
|
||||||
ips200_wr_data(0xD0);
|
|
||||||
ips200_wr_data(0x08);
|
|
||||||
ips200_wr_data(0x0E);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x48);
|
|
||||||
ips200_wr_data(0x17);
|
|
||||||
ips200_wr_data(0x14);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x34);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x21);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x29);
|
|
||||||
ips200_clear(IPS200_BGCOLOR); //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param color <09><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_clear(YELLOW);// ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_clear(uint16 color)
|
|
||||||
{
|
|
||||||
uint16 i,j;
|
|
||||||
ips200_address_set(0,0,IPS200_X_MAX-1,IPS200_Y_MAX-1);
|
|
||||||
for(i=0;i<IPS200_X_MAX;i++)
|
|
||||||
{
|
|
||||||
for (j=0;j<IPS200_Y_MAX;j++)
|
|
||||||
{
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ɫ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_drawpoint(0,0,RED); //<2F><><EFBFBD><EFBFBD>0,0<><30>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫ<EFBFBD>ĵ<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color)
|
|
||||||
{
|
|
||||||
ips200_address_set(x,y,x,y);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showchar(0,0,'x');//<2F><><EFBFBD><EFBFBD>0,0дһ<D0B4><D2BB><EFBFBD>ַ<EFBFBD>x
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat)
|
|
||||||
{
|
|
||||||
uint8 i,j;
|
|
||||||
uint8 temp;
|
|
||||||
|
|
||||||
for(i=0; i<16; i++)
|
|
||||||
{
|
|
||||||
ips200_address_set(x,y+i,x+7,y+i);
|
|
||||||
temp = tft_ascii[(uint16)dat-32][i];//<2F><>32<33><32>Ϊ<EFBFBD><CEAA>ȡģ<C8A1>Ǵӿո<D3BF><D5B8><EFBFBD>ʼȡ<CABC><C8A1> <20>ո<EFBFBD><D5B8><EFBFBD>ascii<69><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32
|
|
||||||
for(j=0; j<8; j++)
|
|
||||||
{
|
|
||||||
if(temp&0x01) ips200_wr_data16(IPS200_PENCOLOR);
|
|
||||||
else ips200_wr_data16(IPS200_BGCOLOR);
|
|
||||||
temp>>=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showstr(0,0,"seekfree");
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[])
|
|
||||||
{
|
|
||||||
uint16 j;
|
|
||||||
|
|
||||||
j = 0;
|
|
||||||
while(dat[j] != '\0')
|
|
||||||
{
|
|
||||||
ips200_showchar(x+8*j,y*16,dat[j]);
|
|
||||||
j++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38>з<EFBFBD><D0B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int8
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint8(0,0,x);//xΪint8<74><38><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat)
|
|
||||||
{
|
|
||||||
uint8 a[3];
|
|
||||||
uint8 i;
|
|
||||||
if(dat<0)
|
|
||||||
{
|
|
||||||
ips200_showchar(x,y*16,'-');
|
|
||||||
dat = -dat;
|
|
||||||
}
|
|
||||||
else ips200_showchar(x,y*16,' ');
|
|
||||||
|
|
||||||
a[0] = dat/100;
|
|
||||||
a[1] = dat/10%10;
|
|
||||||
a[2] = dat%10;
|
|
||||||
i = 0;
|
|
||||||
while(i<3)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint8
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showuint8(0,0,x);//xΪuint8<74><38><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat)
|
|
||||||
{
|
|
||||||
uint8 a[3];
|
|
||||||
uint8 i;
|
|
||||||
|
|
||||||
a[0] = dat/100;
|
|
||||||
a[1] = dat/10%10;
|
|
||||||
a[2] = dat%10;
|
|
||||||
i = 0;
|
|
||||||
while(i<3)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36>з<EFBFBD><D0B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int16
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint16(0,0,x);//xΪint16<31><36><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat)
|
|
||||||
{
|
|
||||||
uint8 a[5];
|
|
||||||
uint8 i;
|
|
||||||
if(dat<0)
|
|
||||||
{
|
|
||||||
ips200_showchar(x,y*16,'-');
|
|
||||||
dat = -dat;
|
|
||||||
}
|
|
||||||
else ips200_showchar(x,y*16,' ');
|
|
||||||
|
|
||||||
a[0] = dat/10000;
|
|
||||||
a[1] = dat/1000%10;
|
|
||||||
a[2] = dat/100%10;
|
|
||||||
a[3] = dat/10%10;
|
|
||||||
a[4] = dat%10;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while(i<5)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint16
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showuint16(0,0,x);//xΪuint16<31><36><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat)
|
|
||||||
{
|
|
||||||
uint8 a[5];
|
|
||||||
uint8 i;
|
|
||||||
|
|
||||||
a[0] = dat/10000;
|
|
||||||
a[1] = dat/1000%10;
|
|
||||||
a[2] = dat/100%10;
|
|
||||||
a[3] = dat/10%10;
|
|
||||||
a[4] = dat%10;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while(i<5)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ32λ<32>з<EFBFBD><D0B7><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint32
|
|
||||||
// @param num <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB> <20><><EFBFBD><EFBFBD>10λ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint32(0,0,x,3);//x<><78><EFBFBD><EFBFBD>Ϊint32 uint16 int16 uint8 int8<74><38><EFBFBD><EFBFBD>
|
|
||||||
// Sample usage: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num)
|
|
||||||
{
|
|
||||||
int8 buff[34];
|
|
||||||
uint32 length;
|
|
||||||
|
|
||||||
if(10<num) num = 10;
|
|
||||||
|
|
||||||
|
|
||||||
num++;
|
|
||||||
if(0>dat) length = zf_sprintf(&buff[0],"%d",dat);//<2F><><EFBFBD><EFBFBD>
|
|
||||||
else
|
|
||||||
{
|
|
||||||
buff[0] = ' ';
|
|
||||||
length = zf_sprintf(&buff[1],"%d",dat);
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
while(length < num)
|
|
||||||
{
|
|
||||||
buff[length] = ' ';
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
buff[num] = '\0';
|
|
||||||
|
|
||||||
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<61><74>double
|
|
||||||
// @param num <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>10λ
|
|
||||||
// @param pointnum С<><D0A1>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>6λ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips_showfloat(0,0,x,2,3);//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2λ С<><D0A1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ
|
|
||||||
// @note <20>ر<EFBFBD>ע<EFBFBD><EFBFBD><E2B5B1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>µģ<C2B5><C4A3>Ⲣ<EFBFBD><E2B2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬
|
|
||||||
// <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD>аٶ<D0B0>ѧϰ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>⡣
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum)
|
|
||||||
{
|
|
||||||
uint32 length;
|
|
||||||
int8 buff[34];
|
|
||||||
int8 start,end,point;
|
|
||||||
|
|
||||||
if(6<pointnum) pointnum = 6;
|
|
||||||
if(10<num) num = 10;
|
|
||||||
|
|
||||||
if(0>dat) length = zf_sprintf( &buff[0],"%f",dat);//<2F><><EFBFBD><EFBFBD>
|
|
||||||
else
|
|
||||||
{
|
|
||||||
length = zf_sprintf( &buff[1],"%f",dat);
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
point = (int8)(length - 7); //<2F><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
||||||
start = point - num - 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ
|
|
||||||
end = point + pointnum + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
|
||||||
while(0>start)//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ĩβӦ<CEB2><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>
|
|
||||||
{
|
|
||||||
buff[end] = ' ';
|
|
||||||
end++;
|
|
||||||
start++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(0>dat) buff[start] = '-';
|
|
||||||
else buff[start] = ' ';
|
|
||||||
|
|
||||||
buff[end] = '\0';
|
|
||||||
|
|
||||||
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param w ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param l ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showimage(0,0,10,20,&image);//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0,0)<29><><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>20<32><30>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
unsigned char picH,picL;
|
|
||||||
ips200_address_set(x,y,x+w-1,y+l-1);
|
|
||||||
for(i=0;i<w*l;i++)
|
|
||||||
{
|
|
||||||
picL=*(p+i*2);
|
|
||||||
picH=*(p+i*2+1);
|
|
||||||
ips200_wr_data16(picH<<8|picL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
uint16 coord_x = 0;
|
|
||||||
uint16 coord_y = 0;
|
|
||||||
|
|
||||||
coord_x = width>IPS200_X_MAX?IPS200_X_MAX:width;
|
|
||||||
coord_y = height>IPS200_Y_MAX?IPS200_Y_MAX:height;
|
|
||||||
ips200_address_set(0,0,coord_x-1,coord_y-1);
|
|
||||||
|
|
||||||
for(j=0;j<coord_y;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<coord_x;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+j*width+i*width/coord_x);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>IPS200_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032_zoom(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032_zoom1(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, 0, 0, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
|
||||||
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
|
||||||
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
|
||||||
|
|
||||||
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240);//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ɫͼ<C9AB><CDBC>
|
|
||||||
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
uint16 color = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color = ((color&0xff)<<8) | (color>>8);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_zoom1(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 0, 0, 320, 240);
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
|
||||||
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
|
||||||
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
|
||||||
|
|
||||||
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color = ((color&0xff)<<8) | (color>>8);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>Ҷ<EFBFBD>)
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_grayscale_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240)//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷͼ<CDB7><CDBC> <20><>ʾY<CABE><59><EFBFBD><EFBFBD>
|
|
||||||
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ2ʱ<32><CAB1><EFBFBD><EFBFBD>ȡY<C8A1><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ҷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
||||||
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
temp = temp&0xff;
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief С<><D0A1><EFBFBD><EFBFBD>(<28><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120(<28><>)*160(<28><>)<29><><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|
||||||
{
|
|
||||||
int i,j;
|
|
||||||
|
|
||||||
uint16 temp = 0;
|
|
||||||
ips200_address_set(0,0,width-1,height-1);
|
|
||||||
for(i=0;i<height * (width/8);i++)
|
|
||||||
{
|
|
||||||
temp = *p;
|
|
||||||
p++;
|
|
||||||
for(j=0; j<8; j++)
|
|
||||||
{
|
|
||||||
if( (temp<<j)&0x80 ) ips200_wr_data16(WHITE);
|
|
||||||
else ips200_wr_data16(BLACK);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_Y_MAX-1<><31>
|
|
||||||
// @param size ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õĵ<C3B5><C4B5><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ٸ<EFBFBD><D9B8>㣬ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ġ<EFBFBD>
|
|
||||||
// @param *p <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param number <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>λ
|
|
||||||
// @param color <20><>ʾ<EFBFBD><CABE>ɫ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_display_chinese(0,0,16,chinese_test[0],4,RED);//<2F><>ʾfont<6E>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʾ<><CABE>
|
|
||||||
// @Note ʹ<><CAB9>PCtoLCD2002<30><32><EFBFBD><EFBFBD>ȡģ <20><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>˳<EFBFBD><CBB3> 16*16
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color)
|
|
||||||
{
|
|
||||||
int i, j, k;
|
|
||||||
uint8 temp, temp1, temp2;
|
|
||||||
const uint8 *p_data;
|
|
||||||
|
|
||||||
temp2 = size/8;
|
|
||||||
|
|
||||||
ips200_address_set(x,y,number*size-1+x,y+size-1);
|
|
||||||
|
|
||||||
for(i=0;i<size;i++)
|
|
||||||
{
|
|
||||||
temp1 = number;
|
|
||||||
p_data = p+i*temp2;
|
|
||||||
while(temp1--)
|
|
||||||
{
|
|
||||||
for(k=0;k<temp2;k++)
|
|
||||||
{
|
|
||||||
for(j=8;j>0;j--)
|
|
||||||
{
|
|
||||||
temp = (*p_data>>(j-1)) & 0x01;
|
|
||||||
if(temp) ips200_wr_data16(color);
|
|
||||||
else ips200_wr_data16(IPS200_BGCOLOR);
|
|
||||||
}
|
|
||||||
p_data++;
|
|
||||||
}
|
|
||||||
p_data = p_data - temp2 + temp2*size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
/*/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
#define _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "SEEKFREE_FONT.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
|
||||||
//#define RED 0xF800 //<2F><>ɫ
|
|
||||||
//#define BLUE 0x001F //<2F><>ɫ
|
|
||||||
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
|
||||||
//#define GREEN 0x07E0 //<2F><>ɫ
|
|
||||||
//#define WHITE 0xFFFF //<2F><>ɫ
|
|
||||||
//#define BLACK 0x0000 //<2F><>ɫ
|
|
||||||
//#define GRAY 0X8430 //<2F><>ɫ
|
|
||||||
//#define BROWN 0XBC40 //<2F><>ɫ
|
|
||||||
//#define PURPLE 0XF81F //<2F><>ɫ
|
|
||||||
//#define PINK 0XFE19 //<2F><>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BGCOLOR WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
#define IPS200_PENCOLOR RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|
||||||
#define IPS200_RD_PIN P15_3
|
|
||||||
#define IPS200_WR_PIN P15_5
|
|
||||||
#define IPS200_RS_PIN P15_1
|
|
||||||
#define IPS200_RST_PIN P15_0
|
|
||||||
#define IPS200_CS_PIN P15_2
|
|
||||||
#define IPS200_BL_PIN P15_4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
|
||||||
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
|
||||||
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
|
||||||
#define IPS200_D0_PIN P11_9
|
|
||||||
#define IPS200_D1_PIN P11_10
|
|
||||||
#define IPS200_D2_PIN P11_11
|
|
||||||
#define IPS200_D3_PIN P11_12
|
|
||||||
#define IPS200_D4_PIN P13_0
|
|
||||||
#define IPS200_D5_PIN P13_1
|
|
||||||
#define IPS200_D6_PIN P13_2
|
|
||||||
#define IPS200_D7_PIN P13_3
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
||||||
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM1 (IPS200_D0_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM2 (IPS200_D4_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN,x)
|
|
||||||
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN,x)
|
|
||||||
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN,x)
|
|
||||||
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN,x)
|
|
||||||
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN,x)
|
|
||||||
#define IPS200_RST(x) gpio_set(IPS200_RST_PIN,x)
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_W 240
|
|
||||||
#define IPS200_H 320
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
#define IPS200_DISPLAY_DIR 0
|
|
||||||
|
|
||||||
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_init(void); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
|
||||||
void ips200_w_data(uint8 dat);
|
|
||||||
void ips200_wr_reg(uint8 com);
|
|
||||||
void ips200_wr_data(uint8 dat);
|
|
||||||
void ips200_wr_data16(uint16 dat);
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat);
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
|
||||||
void ips200_clear(uint16 color);
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
|
||||||
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V1.2.9
|
||||||
|
ɾ<><C9BE>SEEKFREE_IPS200_PARALLEL8<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEEKFREE_IPS200<30><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
V1.2.8
|
V1.2.8
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
#include "SEEKFREE_MMA8451.h"
|
#include "SEEKFREE_MMA8451.h"
|
||||||
#include "SEEKFREE_L3G4200D.h"
|
#include "SEEKFREE_L3G4200D.h"
|
||||||
#include "SEEKFREE_WIRELESS.h"
|
#include "SEEKFREE_WIRELESS.h"
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "SEEKFREE_7725.h"
|
#include "SEEKFREE_7725.h"
|
||||||
#include "SEEKFREE_RDA5807.h"
|
#include "SEEKFREE_RDA5807.h"
|
||||||
#include "SEEKFREE_7725_UART.h"
|
#include "SEEKFREE_7725_UART.h"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "IfxQspi.h"
|
#include "IfxQspi.h"
|
||||||
#include "zf_assert.h"
|
#include "zf_assert.h"
|
||||||
#include "zf_spi.h"
|
#include "zf_spi.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
|
||||||
#define MAX_BAUD 50000000
|
#define MAX_BAUD 50000000
|
||||||
|
|
||||||
@@ -183,7 +183,62 @@ void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_P
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8 get_spi_cs_pin(SPI_PIN_enum cs_pin)
|
||||||
|
{
|
||||||
|
if (SPI0_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI0_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI0_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI0_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI0_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI0_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI0_CS6_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI0_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI0_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI0_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
else if (SPI0_CS13_P15_0 == cs_pin) return gpio_get(P15_0);
|
||||||
|
else if (SPI1_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI1_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI1_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI1_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI1_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI1_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI1_CS6_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI1_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI1_CS8_P10_4 == cs_pin) return gpio_get(P10_4);
|
||||||
|
else if (SPI1_CS9_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI1_CS10_P10_0 == cs_pin) return gpio_get(P10_0);
|
||||||
|
else if (SPI2_CS0_P15_2 == cs_pin) return gpio_get(P15_2);
|
||||||
|
else if (SPI2_CS1_P14_2 == cs_pin) return gpio_get(P14_2);
|
||||||
|
else if (SPI2_CS2_P14_6 == cs_pin) return gpio_get(P14_6);
|
||||||
|
else if (SPI2_CS3_P14_3 == cs_pin) return gpio_get(P14_3);
|
||||||
|
else if (SPI2_CS5_P15_1 == cs_pin) return gpio_get(P15_1);
|
||||||
|
else if (SPI2_CS6_P33_13 == cs_pin) return gpio_get(P33_13);
|
||||||
|
else if (SPI2_CS7_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI2_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI2_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
|
||||||
|
else if (SPI3_CS0_P02_4 == cs_pin) return gpio_get(P02_4);
|
||||||
|
else if (SPI3_CS1_P02_0 == cs_pin) return gpio_get(P02_0);
|
||||||
|
else if (SPI3_CS1_P33_9 == cs_pin) return gpio_get(P33_9);
|
||||||
|
else if (SPI3_CS2_P02_1 == cs_pin) return gpio_get(P02_1);
|
||||||
|
else if (SPI3_CS2_P33_8 == cs_pin) return gpio_get(P33_8);
|
||||||
|
else if (SPI3_CS3_P02_2 == cs_pin) return gpio_get(P02_2);
|
||||||
|
else if (SPI3_CS4_P02_3 == cs_pin) return gpio_get(P02_3);
|
||||||
|
else if (SPI3_CS4_P23_5 == cs_pin) return gpio_get(P23_5);
|
||||||
|
else if (SPI3_CS5_P02_8 == cs_pin) return gpio_get(P02_8);
|
||||||
|
else if (SPI3_CS6_P00_8 == cs_pin) return gpio_get(P00_8);
|
||||||
|
else if (SPI3_CS7_P00_9 == cs_pin) return gpio_get(P00_9);
|
||||||
|
else if (SPI3_CS7_P33_7 == cs_pin) return gpio_get(P33_7);
|
||||||
|
else if (SPI3_CS8_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI3_CS11_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI3_CS12_P22_2 == cs_pin) return gpio_get(P22_2);
|
||||||
|
else if (SPI3_CS13_P23_1 == cs_pin) return gpio_get(P23_1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ZF_ASSERT(FALSE);
|
||||||
|
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>CS<43><53><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -335,6 +390,7 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
|
|||||||
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
||||||
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
||||||
}
|
}
|
||||||
|
while(!get_spi_cs_pin(cs_pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void lcd_init(void)
|
|||||||
lcd_writeData(0x05);
|
lcd_writeData(0x05);
|
||||||
lcd_writeIndex(0x29);
|
lcd_writeIndex(0x29);
|
||||||
|
|
||||||
lcd_clear(WHITE);//ȫ<><C8AB>
|
lcd_clear(RGB565_WHITE);//ȫ<><C8AB>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ void showimage(const unsigned char *p)
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
unsigned char picH,picL;
|
unsigned char picH,picL;
|
||||||
lcd_clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
lcd_clear(RGB565_WHITE); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
for(k=0;k<4;k++)
|
for(k=0;k<4;k++)
|
||||||
{
|
{
|
||||||
@@ -716,8 +716,8 @@ void lcd_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) lcd_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) lcd_writedata_16bit(RGB565_WHITE);
|
||||||
else lcd_writedata_16bit(BLACK);
|
else lcd_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define TFT_PENCOLOR RED
|
#define TFT_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define TFT_BGCOLOR WHITE
|
#define TFT_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
||||||
#define RED 0xF800 //<2F><>ɫ
|
#define RGB565_RED 0xF800 //<2F><>ɫ
|
||||||
#define BLUE 0x001F //<2F><>ɫ
|
#define RGB565_BLUE 0x001F //<2F><>ɫ
|
||||||
#define YELLOW 0xFFE0 //<2F><>ɫ
|
#define RGB565_YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
#define GREEN 0x07E0 //<2F><>ɫ
|
#define RGB565_GREEN 0x07E0 //<2F><>ɫ
|
||||||
#define WHITE 0xFFFF //<2F><>ɫ
|
#define RGB565_WHITE 0xFFFF //<2F><>ɫ
|
||||||
#define BLACK 0x0000 //<2F><>ɫ
|
#define RGB565_BLACK 0x0000 //<2F><>ɫ
|
||||||
#define GRAY 0X8430 //<2F><>ɫ
|
#define RGB565_GRAY 0X8430 //<2F><>ɫ
|
||||||
#define BROWN 0XBC40 //<2F><>ɫ
|
#define RGB565_BROWN 0XBC40 //<2F><>ɫ
|
||||||
#define PURPLE 0XF81F //<2F><>ɫ
|
#define RGB565_PURPLE 0XF81F //<2F><>ɫ
|
||||||
#define PINK 0XFE19 //<2F><>ɫ
|
#define RGB565_PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
extern const uint8 tft_ascii[95][16];
|
extern const uint8 tft_ascii[95][16];
|
||||||
|
|||||||
@@ -726,8 +726,8 @@ void ips114_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips114_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) ips114_writedata_16bit(RGB565_WHITE);
|
||||||
else ips114_writedata_16bit(BLACK);
|
else ips114_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define IPS114_PENCOLOR RED
|
#define IPS114_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define IPS114_BGCOLOR WHITE
|
#define IPS114_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
931
Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS200.c
Normal file
931
Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS200.c
Normal file
@@ -0,0 +1,931 @@
|
|||||||
|
/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2022-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#include "SEEKFREE_IPS200.h"
|
||||||
|
|
||||||
|
static ips200_type_enum ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
static PIN_enum ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_w_data(uint8 dat) //д<><D0B4><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
||||||
|
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param command <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_reg(uint8 command) //д<><D0B4><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
IPS200_DC(0);
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&command,NULL,1,1);
|
||||||
|
IPS200_DC(1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(0);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(command);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat 8λ<38><CEBB><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_data(uint8 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>8λ<38><CEBB><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&dat,NULL,1,1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(dat);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat 16λ<36><CEBB><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_data16(uint16 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>16λ<36><CEBB><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
uint8 dat1[2];
|
||||||
|
dat1[0] = dat >> 8;
|
||||||
|
dat1[1] = (uint8)dat;
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,dat1,NULL,2,1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat>>8));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param com <20><><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat) //д<>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
{
|
||||||
|
ips200_wr_reg(com);
|
||||||
|
ips200_wr_data(dat);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x1 <20><>ʼx<CABC><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y1 <20><>ʼy<CABC><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x2 <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y2 <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
||||||
|
{
|
||||||
|
ips200_wr_reg(0x2a);
|
||||||
|
ips200_wr_data16(x1);
|
||||||
|
ips200_wr_data16(x2);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x2b);
|
||||||
|
ips200_wr_data16(y1);
|
||||||
|
ips200_wr_data16(y2);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x2c);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief 2.0<EFBFBD><EFBFBD> IPSҺ<53><D2BA><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
||||||
|
// @return type_select <20><><EFBFBD>ڻ<EFBFBD><DABB>ߴ<EFBFBD><DFB4><EFBFBD>ѡ<EFBFBD><D1A1>
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_init(ips200_type_enum type_select)
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == type_select)
|
||||||
|
{
|
||||||
|
ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
|
spi_init(IPS200_SPIN, IPS200_SCL_PIN_SPI, IPS200_SDA_PIN_SPI, IPS200_SDA_IN_PIN_SPI, IPS200_CS_PIN_SPI, 0, 30*1000*1000);//Ӳ<><D3B2>SPI<50><49>ʼ<EFBFBD><CABC>
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_SPI,GPO,1,PUSHPULL);
|
||||||
|
gpio_init(IPS200_DC_PIN_SPI,GPO,0,PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin,GPO,0,PUSHPULL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ips200_display_type = IPS200_TYPE_PARALLEL8;
|
||||||
|
ips_rst_pin = IPS200_RST_PIN_PARALLEL8;
|
||||||
|
gpio_init(IPS200_D0_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D1_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D2_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D3_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D4_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D5_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D6_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D7_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_CS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_WR_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RD_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
}
|
||||||
|
IPS200_BL(1);
|
||||||
|
IPS200_RST(0);
|
||||||
|
systick_delay_ms(STM0, 5);
|
||||||
|
IPS200_RST(1);
|
||||||
|
systick_delay_ms(STM0, 5);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x11);
|
||||||
|
systick_delay_ms(STM0, 120);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x36);
|
||||||
|
if (IPS200_DISPLAY_DIR==0) ips200_wr_data(0x00);
|
||||||
|
else if (IPS200_DISPLAY_DIR==1) ips200_wr_data(0xC0);
|
||||||
|
else if (IPS200_DISPLAY_DIR==2) ips200_wr_data(0x70);
|
||||||
|
else ips200_wr_data(0xA0);
|
||||||
|
|
||||||
|
|
||||||
|
ips200_wr_reg(0x3A);
|
||||||
|
ips200_wr_data(0x05);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xB2);
|
||||||
|
ips200_wr_data(0x0C);
|
||||||
|
ips200_wr_data(0x0C);
|
||||||
|
ips200_wr_data(0x00);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xB7);
|
||||||
|
ips200_wr_data(0x35);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xBB);
|
||||||
|
ips200_wr_data(0x29); //32 Vcom=1.35V
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC2);
|
||||||
|
ips200_wr_data(0x01);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC3);
|
||||||
|
ips200_wr_data(0x19); //GVDD=4.8V
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC4);
|
||||||
|
ips200_wr_data(0x20); //VDV, 0x20:0v
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC5);
|
||||||
|
ips200_wr_data(0x1A);//VCOM Offset Set
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC6);
|
||||||
|
ips200_wr_data(0x01F); //0x0F:60Hz
|
||||||
|
|
||||||
|
ips200_wr_reg(0xD0);
|
||||||
|
ips200_wr_data(0xA4);
|
||||||
|
ips200_wr_data(0xA1);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xE0);
|
||||||
|
ips200_wr_data(0xD0);
|
||||||
|
ips200_wr_data(0x08);
|
||||||
|
ips200_wr_data(0x0E);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x05);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x48);
|
||||||
|
ips200_wr_data(0x17);
|
||||||
|
ips200_wr_data(0x14);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x34);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xE1);
|
||||||
|
ips200_wr_data(0xD0);
|
||||||
|
ips200_wr_data(0x08);
|
||||||
|
ips200_wr_data(0x0E);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x48);
|
||||||
|
ips200_wr_data(0x17);
|
||||||
|
ips200_wr_data(0x14);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x34);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x21);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x29);
|
||||||
|
ips200_clear(IPS200_BGCOLOR); //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param color <09><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_clear(YELLOW);// ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_clear(uint16 color)
|
||||||
|
{
|
||||||
|
uint16 i,j;
|
||||||
|
ips200_address_set(0,0,IPS200_X_MAX-1,IPS200_Y_MAX-1);
|
||||||
|
for(i=0;i<IPS200_X_MAX;i++)
|
||||||
|
{
|
||||||
|
for (j=0;j<IPS200_Y_MAX;j++)
|
||||||
|
{
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ɫ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_drawpoint(0,0,RED); //<2F><><EFBFBD><EFBFBD>0,0<><30>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫ<EFBFBD>ĵ<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color)
|
||||||
|
{
|
||||||
|
ips200_address_set(x,y,x,y);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showchar(0,0,'x');//<2F><><EFBFBD><EFBFBD>0,0дһ<D0B4><D2BB><EFBFBD>ַ<EFBFBD>x
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat)
|
||||||
|
{
|
||||||
|
uint8 i,j;
|
||||||
|
uint8 temp;
|
||||||
|
|
||||||
|
for(i=0; i<16; i++)
|
||||||
|
{
|
||||||
|
ips200_address_set(x,y+i,x+7,y+i);
|
||||||
|
temp = tft_ascii[(uint16)dat-32][i];//<2F><>32<33><32>Ϊ<EFBFBD><CEAA>ȡģ<C8A1>Ǵӿո<D3BF><D5B8><EFBFBD>ʼȡ<CABC><C8A1> <20>ո<EFBFBD><D5B8><EFBFBD>ascii<69><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32
|
||||||
|
for(j=0; j<8; j++)
|
||||||
|
{
|
||||||
|
if(temp&0x01) ips200_wr_data16(IPS200_PENCOLOR);
|
||||||
|
else ips200_wr_data16(IPS200_BGCOLOR);
|
||||||
|
temp>>=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showstr(0,0,"seekfree");
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[])
|
||||||
|
{
|
||||||
|
uint16 j;
|
||||||
|
|
||||||
|
j = 0;
|
||||||
|
while(dat[j] != '\0')
|
||||||
|
{
|
||||||
|
ips200_showchar(x+8*j,y*16,dat[j]);
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38>з<EFBFBD><D0B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int8
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint8(0,0,x);//xΪint8<74><38><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat)
|
||||||
|
{
|
||||||
|
uint8 a[3];
|
||||||
|
uint8 i;
|
||||||
|
if(dat<0)
|
||||||
|
{
|
||||||
|
ips200_showchar(x,y*16,'-');
|
||||||
|
dat = -dat;
|
||||||
|
}
|
||||||
|
else ips200_showchar(x,y*16,' ');
|
||||||
|
|
||||||
|
a[0] = dat/100;
|
||||||
|
a[1] = dat/10%10;
|
||||||
|
a[2] = dat%10;
|
||||||
|
i = 0;
|
||||||
|
while(i<3)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint8
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showuint8(0,0,x);//xΪuint8<74><38><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat)
|
||||||
|
{
|
||||||
|
uint8 a[3];
|
||||||
|
uint8 i;
|
||||||
|
|
||||||
|
a[0] = dat/100;
|
||||||
|
a[1] = dat/10%10;
|
||||||
|
a[2] = dat%10;
|
||||||
|
i = 0;
|
||||||
|
while(i<3)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36>з<EFBFBD><D0B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int16
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint16(0,0,x);//xΪint16<31><36><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat)
|
||||||
|
{
|
||||||
|
uint8 a[5];
|
||||||
|
uint8 i;
|
||||||
|
if(dat<0)
|
||||||
|
{
|
||||||
|
ips200_showchar(x,y*16,'-');
|
||||||
|
dat = -dat;
|
||||||
|
}
|
||||||
|
else ips200_showchar(x,y*16,' ');
|
||||||
|
|
||||||
|
a[0] = dat/10000;
|
||||||
|
a[1] = dat/1000%10;
|
||||||
|
a[2] = dat/100%10;
|
||||||
|
a[3] = dat/10%10;
|
||||||
|
a[4] = dat%10;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while(i<5)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint16
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showuint16(0,0,x);//xΪuint16<31><36><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat)
|
||||||
|
{
|
||||||
|
uint8 a[5];
|
||||||
|
uint8 i;
|
||||||
|
|
||||||
|
a[0] = dat/10000;
|
||||||
|
a[1] = dat/1000%10;
|
||||||
|
a[2] = dat/100%10;
|
||||||
|
a[3] = dat/10%10;
|
||||||
|
a[4] = dat%10;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while(i<5)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ32λ<32>з<EFBFBD><D0B7><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint32
|
||||||
|
// @param num <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB> <20><><EFBFBD><EFBFBD>10λ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint32(0,0,x,3);//x<><78><EFBFBD><EFBFBD>Ϊint32 uint16 int16 uint8 int8<74><38><EFBFBD><EFBFBD>
|
||||||
|
// Sample usage: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num)
|
||||||
|
{
|
||||||
|
int8 buff[34];
|
||||||
|
uint32 length;
|
||||||
|
|
||||||
|
if(10<num) num = 10;
|
||||||
|
|
||||||
|
|
||||||
|
num++;
|
||||||
|
if(0>dat) length = zf_sprintf(&buff[0],"%d",dat);//<2F><><EFBFBD><EFBFBD>
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buff[0] = ' ';
|
||||||
|
length = zf_sprintf(&buff[1],"%d",dat);
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
while(length < num)
|
||||||
|
{
|
||||||
|
buff[length] = ' ';
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
buff[num] = '\0';
|
||||||
|
|
||||||
|
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<61><74>double
|
||||||
|
// @param num <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>10λ
|
||||||
|
// @param pointnum С<><D0A1>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>6λ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips_showfloat(0,0,x,2,3);//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2λ С<><D0A1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ
|
||||||
|
// @note <20>ر<EFBFBD>ע<EFBFBD><EFBFBD><E2B5B1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>µģ<C2B5><C4A3>Ⲣ<EFBFBD><E2B2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬
|
||||||
|
// <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD>аٶ<D0B0>ѧϰ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>⡣
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum)
|
||||||
|
{
|
||||||
|
uint32 length;
|
||||||
|
int8 buff[34];
|
||||||
|
int8 start,end,point;
|
||||||
|
|
||||||
|
if(6<pointnum) pointnum = 6;
|
||||||
|
if(10<num) num = 10;
|
||||||
|
|
||||||
|
if(0>dat) length = zf_sprintf( &buff[0],"%f",dat);//<2F><><EFBFBD><EFBFBD>
|
||||||
|
else
|
||||||
|
{
|
||||||
|
length = zf_sprintf( &buff[1],"%f",dat);
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
point = (int8)(length - 7); //<2F><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||||
|
start = point - num - 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ
|
||||||
|
end = point + pointnum + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
||||||
|
while(0>start)//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ĩβӦ<CEB2><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>
|
||||||
|
{
|
||||||
|
buff[end] = ' ';
|
||||||
|
end++;
|
||||||
|
start++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(0>dat) buff[start] = '-';
|
||||||
|
else buff[start] = ' ';
|
||||||
|
|
||||||
|
buff[end] = '\0';
|
||||||
|
|
||||||
|
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param w ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param l ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showimage(0,0,10,20,&image);//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0,0)<29><><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>20<32><30>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
unsigned char picH,picL;
|
||||||
|
ips200_address_set(x,y,x+w-1,y+l-1);
|
||||||
|
for(i=0;i<w*l;i++)
|
||||||
|
{
|
||||||
|
picL=*(p+i*2);
|
||||||
|
picH=*(p+i*2+1);
|
||||||
|
ips200_wr_data16(picH<<8|picL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
uint16 coord_x = 0;
|
||||||
|
uint16 coord_y = 0;
|
||||||
|
|
||||||
|
coord_x = width>IPS200_X_MAX?IPS200_X_MAX:width;
|
||||||
|
coord_y = height>IPS200_Y_MAX?IPS200_Y_MAX:height;
|
||||||
|
ips200_address_set(0,0,coord_x-1,coord_y-1);
|
||||||
|
|
||||||
|
for(j=0;j<coord_y;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<coord_x;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+j*width+i*width/coord_x);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>IPS200_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032_zoom(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032_zoom1(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, 0, 0, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
||||||
|
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
||||||
|
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
||||||
|
|
||||||
|
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240);//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ɫͼ<C9AB><CDBC>
|
||||||
|
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
uint16 color = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color = ((color&0xff)<<8) | (color>>8);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_zoom1(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 0, 0, 320, 240);
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
||||||
|
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
||||||
|
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
||||||
|
|
||||||
|
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color = ((color&0xff)<<8) | (color>>8);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>Ҷ<EFBFBD>)
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_grayscale_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240)//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷͼ<CDB7><CDBC> <20><>ʾY<CABE><59><EFBFBD><EFBFBD>
|
||||||
|
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ2ʱ<32><CAB1><EFBFBD><EFBFBD>ȡY<C8A1><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ҷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
||||||
|
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
temp = temp&0xff;
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief С<><D0A1><EFBFBD><EFBFBD>(<28><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120(<28><>)*160(<28><>)<29><><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
||||||
|
{
|
||||||
|
int i,j;
|
||||||
|
|
||||||
|
uint16 temp = 0;
|
||||||
|
ips200_address_set(0,0,width-1,height-1);
|
||||||
|
for(i=0;i<height * (width/8);i++)
|
||||||
|
{
|
||||||
|
temp = *p;
|
||||||
|
p++;
|
||||||
|
for(j=0; j<8; j++)
|
||||||
|
{
|
||||||
|
if( (temp<<j)&0x80 ) ips200_wr_data16(RGB565_WHITE);
|
||||||
|
else ips200_wr_data16(RGB565_BLACK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_Y_MAX-1<><31>
|
||||||
|
// @param size ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õĵ<C3B5><C4B5><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ٸ<EFBFBD><D9B8>㣬ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ġ<EFBFBD>
|
||||||
|
// @param *p <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param number <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>λ
|
||||||
|
// @param color <20><>ʾ<EFBFBD><CABE>ɫ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_display_chinese(0,0,16,chinese_test[0],4,RED);//<2F><>ʾfont<6E>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʾ<><CABE>
|
||||||
|
// @Note ʹ<><CAB9>PCtoLCD2002<30><32><EFBFBD><EFBFBD>ȡģ <20><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>˳<EFBFBD><CBB3> 16*16
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color)
|
||||||
|
{
|
||||||
|
int i, j, k;
|
||||||
|
uint8 temp, temp1, temp2;
|
||||||
|
const uint8 *p_data;
|
||||||
|
|
||||||
|
temp2 = size/8;
|
||||||
|
|
||||||
|
ips200_address_set(x,y,number*size-1+x,y+size-1);
|
||||||
|
|
||||||
|
for(i=0;i<size;i++)
|
||||||
|
{
|
||||||
|
temp1 = number;
|
||||||
|
p_data = p+i*temp2;
|
||||||
|
while(temp1--)
|
||||||
|
{
|
||||||
|
for(k=0;k<temp2;k++)
|
||||||
|
{
|
||||||
|
for(j=8;j>0;j--)
|
||||||
|
{
|
||||||
|
temp = (*p_data>>(j-1)) & 0x01;
|
||||||
|
if(temp) ips200_wr_data16(color);
|
||||||
|
else ips200_wr_data16(IPS200_BGCOLOR);
|
||||||
|
}
|
||||||
|
p_data++;
|
||||||
|
}
|
||||||
|
p_data = p_data - temp2 + temp2*size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
199
Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS200.h
Normal file
199
Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS200.h
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
|
||||||
|
/*/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2020-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _SEEKFREE_IPS200_H
|
||||||
|
#define _SEEKFREE_IPS200_H
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "zf_stm_systick.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
#include "zf_assert.h"
|
||||||
|
#include "SEEKFREE_PRINTF.h"
|
||||||
|
#include "zf_spi.h"
|
||||||
|
#include "SEEKFREE_FUN.h"
|
||||||
|
#include "SEEKFREE_FONT.h"
|
||||||
|
|
||||||
|
|
||||||
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
||||||
|
//#define RED 0xF800 //<2F><>ɫ
|
||||||
|
//#define BLUE 0x001F //<2F><>ɫ
|
||||||
|
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
|
//#define GREEN 0x07E0 //<2F><>ɫ
|
||||||
|
//#define WHITE 0xFFFF //<2F><>ɫ
|
||||||
|
//#define BLACK 0x0000 //<2F><>ɫ
|
||||||
|
//#define GRAY 0X8430 //<2F><>ɫ
|
||||||
|
//#define BROWN 0XBC40 //<2F><>ɫ
|
||||||
|
//#define PURPLE 0XF81F //<2F><>ɫ
|
||||||
|
//#define PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BGCOLOR RGB565_WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
#define IPS200_PENCOLOR RGB565_RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SPIN SPI_2 //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
||||||
|
#define IPS200_SCL_PIN_SPI SPI2_SCLK_P15_3 //<2F><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_PIN_SPI SPI2_MOSI_P15_5 //<2F><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_IN_PIN_SPI SPI2_MISO_P15_4 //<2F><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
||||||
|
#define IPS200_CS_PIN_SPI SPI2_CS0_P15_2 //<2F><><EFBFBD><EFBFBD>SPI_CS<43><53><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_RST_PIN_SPI P15_1 // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
||||||
|
#define IPS200_DC_PIN_SPI P15_0
|
||||||
|
#define IPS200_BL_PIN_SPI P15_4
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
||||||
|
#define IPS200_RD_PIN_PARALLEL8 P15_3
|
||||||
|
#define IPS200_WR_PIN_PARALLEL8 P15_5
|
||||||
|
#define IPS200_RS_PIN_PARALLEL8 P15_1
|
||||||
|
#define IPS200_RST_PIN_PARALLEL8 P15_0
|
||||||
|
#define IPS200_CS_PIN_PARALLEL8 P15_2
|
||||||
|
#define IPS200_BL_PIN_PARALLEL8 P15_4
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õõ<C3B5>
|
||||||
|
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
||||||
|
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
||||||
|
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
||||||
|
#define IPS200_D0_PIN_PARALLEL8 P11_9
|
||||||
|
#define IPS200_D1_PIN_PARALLEL8 P11_10
|
||||||
|
#define IPS200_D2_PIN_PARALLEL8 P11_11
|
||||||
|
#define IPS200_D3_PIN_PARALLEL8 P11_12
|
||||||
|
#define IPS200_D4_PIN_PARALLEL8 P13_0
|
||||||
|
#define IPS200_D5_PIN_PARALLEL8 P13_1
|
||||||
|
#define IPS200_D6_PIN_PARALLEL8 P13_2
|
||||||
|
#define IPS200_D7_PIN_PARALLEL8 P13_3
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
||||||
|
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM1 (IPS200_D0_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM2 (IPS200_D4_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RST(x) gpio_set(ips_rst_pin,x)
|
||||||
|
|
||||||
|
#define IPS200_DC(x) gpio_set(IPS200_DC_PIN_SPI,x)
|
||||||
|
|
||||||
|
#define IPS200_W 240
|
||||||
|
#define IPS200_H 320
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IPS200_TYPE_SPI, // SPI <20><><EFBFBD><EFBFBD>
|
||||||
|
IPS200_TYPE_PARALLEL8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
}ips200_type_enum;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
#define IPS200_DISPLAY_DIR 0
|
||||||
|
|
||||||
|
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_init(ips200_type_enum type_select); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
||||||
|
void ips200_w_data(uint8 dat);
|
||||||
|
void ips200_wr_reg(uint8 com);
|
||||||
|
void ips200_wr_data(uint8 dat);
|
||||||
|
void ips200_wr_data16(uint16 dat);
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat);
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
||||||
|
void ips200_clear(uint16 color);
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
||||||
|
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,896 +0,0 @@
|
|||||||
/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#include "stdlib.h"
|
|
||||||
#include "string.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
#include "zf_stm_systick.h"
|
|
||||||
#include "zf_gpio.h"
|
|
||||||
#include "zf_assert.h"
|
|
||||||
#include "SEEKFREE_PRINTF.h"
|
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_w_data(uint8 dat) //д<><D0B4><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
|
||||||
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_reg(uint8 command) //д<><D0B4><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(0);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data(command);
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_data(uint8 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>8λ<38><CEBB><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(1);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data(dat);
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_data16(uint16 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>16λ<36><CEBB><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(1);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data((uint8)(dat>>8));
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data((uint8)(dat));
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat) //д<>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
{
|
|
||||||
ips200_wr_reg(com);
|
|
||||||
ips200_wr_data(dat);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
|
||||||
{
|
|
||||||
ips200_wr_reg(0x2a);
|
|
||||||
ips200_wr_data16(x1);
|
|
||||||
ips200_wr_data16(x2);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x2b);
|
|
||||||
ips200_wr_data16(y1);
|
|
||||||
ips200_wr_data16(y2);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x2c);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief 2.0<EFBFBD><EFBFBD> IPSҺ<53><D2BA><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_init(void)
|
|
||||||
{
|
|
||||||
gpio_init(IPS200_D0_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D1_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D2_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D3_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D4_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D5_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D6_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D7_PIN, GPO, 0, PUSHPULL);
|
|
||||||
|
|
||||||
gpio_init(IPS200_BL_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_CS_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RST_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RS_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_WR_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RD_PIN, GPO, 0, PUSHPULL);
|
|
||||||
|
|
||||||
IPS200_BL(1);
|
|
||||||
IPS200_RST(0);
|
|
||||||
systick_delay_ms(STM0, 5);
|
|
||||||
IPS200_RST(1);
|
|
||||||
systick_delay_ms(STM0, 5);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x11);
|
|
||||||
systick_delay_ms(STM0, 120);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x36);
|
|
||||||
if (IPS200_DISPLAY_DIR==0) ips200_wr_data(0x00);
|
|
||||||
else if (IPS200_DISPLAY_DIR==1) ips200_wr_data(0xC0);
|
|
||||||
else if (IPS200_DISPLAY_DIR==2) ips200_wr_data(0x70);
|
|
||||||
else ips200_wr_data(0xA0);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ips200_wr_reg(0x3A);
|
|
||||||
ips200_wr_data(0x05);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xB2);
|
|
||||||
ips200_wr_data(0x0C);
|
|
||||||
ips200_wr_data(0x0C);
|
|
||||||
ips200_wr_data(0x00);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xB7);
|
|
||||||
ips200_wr_data(0x35);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xBB);
|
|
||||||
ips200_wr_data(0x29); //32 Vcom=1.35V
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC2);
|
|
||||||
ips200_wr_data(0x01);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC3);
|
|
||||||
ips200_wr_data(0x19); //GVDD=4.8V
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC4);
|
|
||||||
ips200_wr_data(0x20); //VDV, 0x20:0v
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC5);
|
|
||||||
ips200_wr_data(0x1A);//VCOM Offset Set
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC6);
|
|
||||||
ips200_wr_data(0x01F); //0x0F:60Hz
|
|
||||||
|
|
||||||
ips200_wr_reg(0xD0);
|
|
||||||
ips200_wr_data(0xA4);
|
|
||||||
ips200_wr_data(0xA1);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xE0);
|
|
||||||
ips200_wr_data(0xD0);
|
|
||||||
ips200_wr_data(0x08);
|
|
||||||
ips200_wr_data(0x0E);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x05);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x48);
|
|
||||||
ips200_wr_data(0x17);
|
|
||||||
ips200_wr_data(0x14);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x34);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xE1);
|
|
||||||
ips200_wr_data(0xD0);
|
|
||||||
ips200_wr_data(0x08);
|
|
||||||
ips200_wr_data(0x0E);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x48);
|
|
||||||
ips200_wr_data(0x17);
|
|
||||||
ips200_wr_data(0x14);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x34);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x21);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x29);
|
|
||||||
ips200_clear(IPS200_BGCOLOR); //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param color <09><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_clear(YELLOW);// ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_clear(uint16 color)
|
|
||||||
{
|
|
||||||
uint16 i,j;
|
|
||||||
ips200_address_set(0,0,IPS200_X_MAX-1,IPS200_Y_MAX-1);
|
|
||||||
for(i=0;i<IPS200_X_MAX;i++)
|
|
||||||
{
|
|
||||||
for (j=0;j<IPS200_Y_MAX;j++)
|
|
||||||
{
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ɫ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_drawpoint(0,0,RED); //<2F><><EFBFBD><EFBFBD>0,0<><30>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫ<EFBFBD>ĵ<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color)
|
|
||||||
{
|
|
||||||
ips200_address_set(x,y,x,y);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showchar(0,0,'x');//<2F><><EFBFBD><EFBFBD>0,0дһ<D0B4><D2BB><EFBFBD>ַ<EFBFBD>x
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat)
|
|
||||||
{
|
|
||||||
uint8 i,j;
|
|
||||||
uint8 temp;
|
|
||||||
|
|
||||||
for(i=0; i<16; i++)
|
|
||||||
{
|
|
||||||
ips200_address_set(x,y+i,x+7,y+i);
|
|
||||||
temp = tft_ascii[(uint16)dat-32][i];//<2F><>32<33><32>Ϊ<EFBFBD><CEAA>ȡģ<C8A1>Ǵӿո<D3BF><D5B8><EFBFBD>ʼȡ<CABC><C8A1> <20>ո<EFBFBD><D5B8><EFBFBD>ascii<69><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32
|
|
||||||
for(j=0; j<8; j++)
|
|
||||||
{
|
|
||||||
if(temp&0x01) ips200_wr_data16(IPS200_PENCOLOR);
|
|
||||||
else ips200_wr_data16(IPS200_BGCOLOR);
|
|
||||||
temp>>=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showstr(0,0,"seekfree");
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[])
|
|
||||||
{
|
|
||||||
uint16 j;
|
|
||||||
|
|
||||||
j = 0;
|
|
||||||
while(dat[j] != '\0')
|
|
||||||
{
|
|
||||||
ips200_showchar(x+8*j,y*16,dat[j]);
|
|
||||||
j++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38>з<EFBFBD><D0B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int8
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint8(0,0,x);//xΪint8<74><38><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat)
|
|
||||||
{
|
|
||||||
uint8 a[3];
|
|
||||||
uint8 i;
|
|
||||||
if(dat<0)
|
|
||||||
{
|
|
||||||
ips200_showchar(x,y*16,'-');
|
|
||||||
dat = -dat;
|
|
||||||
}
|
|
||||||
else ips200_showchar(x,y*16,' ');
|
|
||||||
|
|
||||||
a[0] = dat/100;
|
|
||||||
a[1] = dat/10%10;
|
|
||||||
a[2] = dat%10;
|
|
||||||
i = 0;
|
|
||||||
while(i<3)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint8
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showuint8(0,0,x);//xΪuint8<74><38><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat)
|
|
||||||
{
|
|
||||||
uint8 a[3];
|
|
||||||
uint8 i;
|
|
||||||
|
|
||||||
a[0] = dat/100;
|
|
||||||
a[1] = dat/10%10;
|
|
||||||
a[2] = dat%10;
|
|
||||||
i = 0;
|
|
||||||
while(i<3)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36>з<EFBFBD><D0B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int16
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint16(0,0,x);//xΪint16<31><36><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat)
|
|
||||||
{
|
|
||||||
uint8 a[5];
|
|
||||||
uint8 i;
|
|
||||||
if(dat<0)
|
|
||||||
{
|
|
||||||
ips200_showchar(x,y*16,'-');
|
|
||||||
dat = -dat;
|
|
||||||
}
|
|
||||||
else ips200_showchar(x,y*16,' ');
|
|
||||||
|
|
||||||
a[0] = dat/10000;
|
|
||||||
a[1] = dat/1000%10;
|
|
||||||
a[2] = dat/100%10;
|
|
||||||
a[3] = dat/10%10;
|
|
||||||
a[4] = dat%10;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while(i<5)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint16
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showuint16(0,0,x);//xΪuint16<31><36><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat)
|
|
||||||
{
|
|
||||||
uint8 a[5];
|
|
||||||
uint8 i;
|
|
||||||
|
|
||||||
a[0] = dat/10000;
|
|
||||||
a[1] = dat/1000%10;
|
|
||||||
a[2] = dat/100%10;
|
|
||||||
a[3] = dat/10%10;
|
|
||||||
a[4] = dat%10;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while(i<5)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ32λ<32>з<EFBFBD><D0B7><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint32
|
|
||||||
// @param num <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB> <20><><EFBFBD><EFBFBD>10λ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint32(0,0,x,3);//x<><78><EFBFBD><EFBFBD>Ϊint32 uint16 int16 uint8 int8<74><38><EFBFBD><EFBFBD>
|
|
||||||
// Sample usage: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num)
|
|
||||||
{
|
|
||||||
int8 buff[34];
|
|
||||||
uint32 length;
|
|
||||||
|
|
||||||
if(10<num) num = 10;
|
|
||||||
|
|
||||||
|
|
||||||
num++;
|
|
||||||
if(0>dat) length = zf_sprintf(&buff[0],"%d",dat);//<2F><><EFBFBD><EFBFBD>
|
|
||||||
else
|
|
||||||
{
|
|
||||||
buff[0] = ' ';
|
|
||||||
length = zf_sprintf(&buff[1],"%d",dat);
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
while(length < num)
|
|
||||||
{
|
|
||||||
buff[length] = ' ';
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
buff[num] = '\0';
|
|
||||||
|
|
||||||
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<61><74>double
|
|
||||||
// @param num <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>10λ
|
|
||||||
// @param pointnum С<><D0A1>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>6λ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips_showfloat(0,0,x,2,3);//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2λ С<><D0A1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ
|
|
||||||
// @note <20>ر<EFBFBD>ע<EFBFBD><EFBFBD><E2B5B1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>µģ<C2B5><C4A3>Ⲣ<EFBFBD><E2B2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬
|
|
||||||
// <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD>аٶ<D0B0>ѧϰ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>⡣
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum)
|
|
||||||
{
|
|
||||||
uint32 length;
|
|
||||||
int8 buff[34];
|
|
||||||
int8 start,end,point;
|
|
||||||
|
|
||||||
if(6<pointnum) pointnum = 6;
|
|
||||||
if(10<num) num = 10;
|
|
||||||
|
|
||||||
if(0>dat) length = zf_sprintf( &buff[0],"%f",dat);//<2F><><EFBFBD><EFBFBD>
|
|
||||||
else
|
|
||||||
{
|
|
||||||
length = zf_sprintf( &buff[1],"%f",dat);
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
point = (int8)(length - 7); //<2F><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
||||||
start = point - num - 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ
|
|
||||||
end = point + pointnum + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
|
||||||
while(0>start)//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ĩβӦ<CEB2><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>
|
|
||||||
{
|
|
||||||
buff[end] = ' ';
|
|
||||||
end++;
|
|
||||||
start++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(0>dat) buff[start] = '-';
|
|
||||||
else buff[start] = ' ';
|
|
||||||
|
|
||||||
buff[end] = '\0';
|
|
||||||
|
|
||||||
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param w ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param l ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showimage(0,0,10,20,&image);//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0,0)<29><><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>20<32><30>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
unsigned char picH,picL;
|
|
||||||
ips200_address_set(x,y,x+w-1,y+l-1);
|
|
||||||
for(i=0;i<w*l;i++)
|
|
||||||
{
|
|
||||||
picL=*(p+i*2);
|
|
||||||
picH=*(p+i*2+1);
|
|
||||||
ips200_wr_data16(picH<<8|picL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
uint16 coord_x = 0;
|
|
||||||
uint16 coord_y = 0;
|
|
||||||
|
|
||||||
coord_x = width>IPS200_X_MAX?IPS200_X_MAX:width;
|
|
||||||
coord_y = height>IPS200_Y_MAX?IPS200_Y_MAX:height;
|
|
||||||
ips200_address_set(0,0,coord_x-1,coord_y-1);
|
|
||||||
|
|
||||||
for(j=0;j<coord_y;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<coord_x;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+j*width+i*width/coord_x);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>IPS200_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032_zoom(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032_zoom1(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, 0, 0, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
|
||||||
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
|
||||||
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
|
||||||
|
|
||||||
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240);//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ɫͼ<C9AB><CDBC>
|
|
||||||
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
uint16 color = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color = ((color&0xff)<<8) | (color>>8);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_zoom1(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 0, 0, 320, 240);
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
|
||||||
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
|
||||||
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
|
||||||
|
|
||||||
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color = ((color&0xff)<<8) | (color>>8);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>Ҷ<EFBFBD>)
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_grayscale_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240)//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷͼ<CDB7><CDBC> <20><>ʾY<CABE><59><EFBFBD><EFBFBD>
|
|
||||||
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ2ʱ<32><CAB1><EFBFBD><EFBFBD>ȡY<C8A1><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ҷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
||||||
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
temp = temp&0xff;
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief С<><D0A1><EFBFBD><EFBFBD>(<28><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120(<28><>)*160(<28><>)<29><><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|
||||||
{
|
|
||||||
int i,j;
|
|
||||||
|
|
||||||
uint16 temp = 0;
|
|
||||||
ips200_address_set(0,0,width-1,height-1);
|
|
||||||
for(i=0;i<height * (width/8);i++)
|
|
||||||
{
|
|
||||||
temp = *p;
|
|
||||||
p++;
|
|
||||||
for(j=0; j<8; j++)
|
|
||||||
{
|
|
||||||
if( (temp<<j)&0x80 ) ips200_wr_data16(WHITE);
|
|
||||||
else ips200_wr_data16(BLACK);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_Y_MAX-1<><31>
|
|
||||||
// @param size ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õĵ<C3B5><C4B5><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ٸ<EFBFBD><D9B8>㣬ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ġ<EFBFBD>
|
|
||||||
// @param *p <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param number <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>λ
|
|
||||||
// @param color <20><>ʾ<EFBFBD><CABE>ɫ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_display_chinese(0,0,16,chinese_test[0],4,RED);//<2F><>ʾfont<6E>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʾ<><CABE>
|
|
||||||
// @Note ʹ<><CAB9>PCtoLCD2002<30><32><EFBFBD><EFBFBD>ȡģ <20><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>˳<EFBFBD><CBB3> 16*16
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color)
|
|
||||||
{
|
|
||||||
int i, j, k;
|
|
||||||
uint8 temp, temp1, temp2;
|
|
||||||
const uint8 *p_data;
|
|
||||||
|
|
||||||
temp2 = size/8;
|
|
||||||
|
|
||||||
ips200_address_set(x,y,number*size-1+x,y+size-1);
|
|
||||||
|
|
||||||
for(i=0;i<size;i++)
|
|
||||||
{
|
|
||||||
temp1 = number;
|
|
||||||
p_data = p+i*temp2;
|
|
||||||
while(temp1--)
|
|
||||||
{
|
|
||||||
for(k=0;k<temp2;k++)
|
|
||||||
{
|
|
||||||
for(j=8;j>0;j--)
|
|
||||||
{
|
|
||||||
temp = (*p_data>>(j-1)) & 0x01;
|
|
||||||
if(temp) ips200_wr_data16(color);
|
|
||||||
else ips200_wr_data16(IPS200_BGCOLOR);
|
|
||||||
}
|
|
||||||
p_data++;
|
|
||||||
}
|
|
||||||
p_data = p_data - temp2 + temp2*size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
/*/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
#define _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "SEEKFREE_FONT.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
|
||||||
//#define RED 0xF800 //<2F><>ɫ
|
|
||||||
//#define BLUE 0x001F //<2F><>ɫ
|
|
||||||
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
|
||||||
//#define GREEN 0x07E0 //<2F><>ɫ
|
|
||||||
//#define WHITE 0xFFFF //<2F><>ɫ
|
|
||||||
//#define BLACK 0x0000 //<2F><>ɫ
|
|
||||||
//#define GRAY 0X8430 //<2F><>ɫ
|
|
||||||
//#define BROWN 0XBC40 //<2F><>ɫ
|
|
||||||
//#define PURPLE 0XF81F //<2F><>ɫ
|
|
||||||
//#define PINK 0XFE19 //<2F><>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BGCOLOR WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
#define IPS200_PENCOLOR RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|
||||||
#define IPS200_RD_PIN P15_3
|
|
||||||
#define IPS200_WR_PIN P15_5
|
|
||||||
#define IPS200_RS_PIN P15_1
|
|
||||||
#define IPS200_RST_PIN P15_0
|
|
||||||
#define IPS200_CS_PIN P15_2
|
|
||||||
#define IPS200_BL_PIN P15_4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
|
||||||
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
|
||||||
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
|
||||||
#define IPS200_D0_PIN P11_9
|
|
||||||
#define IPS200_D1_PIN P11_10
|
|
||||||
#define IPS200_D2_PIN P11_11
|
|
||||||
#define IPS200_D3_PIN P11_12
|
|
||||||
#define IPS200_D4_PIN P13_0
|
|
||||||
#define IPS200_D5_PIN P13_1
|
|
||||||
#define IPS200_D6_PIN P13_2
|
|
||||||
#define IPS200_D7_PIN P13_3
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
||||||
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM1 (IPS200_D0_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM2 (IPS200_D4_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN,x)
|
|
||||||
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN,x)
|
|
||||||
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN,x)
|
|
||||||
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN,x)
|
|
||||||
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN,x)
|
|
||||||
#define IPS200_RST(x) gpio_set(IPS200_RST_PIN,x)
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_W 240
|
|
||||||
#define IPS200_H 320
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
#define IPS200_DISPLAY_DIR 0
|
|
||||||
|
|
||||||
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_init(void); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
|
||||||
void ips200_w_data(uint8 dat);
|
|
||||||
void ips200_wr_reg(uint8 com);
|
|
||||||
void ips200_wr_data(uint8 dat);
|
|
||||||
void ips200_wr_data16(uint16 dat);
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat);
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
|
||||||
void ips200_clear(uint16 color);
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
|
||||||
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V1.2.9
|
||||||
|
ɾ<><C9BE>SEEKFREE_IPS200_PARALLEL8<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEEKFREE_IPS200<30><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
V1.2.8
|
V1.2.8
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
#include "SEEKFREE_MMA8451.h"
|
#include "SEEKFREE_MMA8451.h"
|
||||||
#include "SEEKFREE_L3G4200D.h"
|
#include "SEEKFREE_L3G4200D.h"
|
||||||
#include "SEEKFREE_WIRELESS.h"
|
#include "SEEKFREE_WIRELESS.h"
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "SEEKFREE_7725.h"
|
#include "SEEKFREE_7725.h"
|
||||||
#include "SEEKFREE_RDA5807.h"
|
#include "SEEKFREE_RDA5807.h"
|
||||||
#include "SEEKFREE_7725_UART.h"
|
#include "SEEKFREE_7725_UART.h"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "IfxQspi.h"
|
#include "IfxQspi.h"
|
||||||
#include "zf_assert.h"
|
#include "zf_assert.h"
|
||||||
#include "zf_spi.h"
|
#include "zf_spi.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
|
||||||
#define MAX_BAUD 50000000
|
#define MAX_BAUD 50000000
|
||||||
|
|
||||||
@@ -183,7 +183,62 @@ void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_P
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8 get_spi_cs_pin(SPI_PIN_enum cs_pin)
|
||||||
|
{
|
||||||
|
if (SPI0_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI0_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI0_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI0_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI0_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI0_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI0_CS6_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI0_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI0_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI0_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
else if (SPI0_CS13_P15_0 == cs_pin) return gpio_get(P15_0);
|
||||||
|
else if (SPI1_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI1_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI1_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI1_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI1_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI1_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI1_CS6_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI1_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI1_CS8_P10_4 == cs_pin) return gpio_get(P10_4);
|
||||||
|
else if (SPI1_CS9_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI1_CS10_P10_0 == cs_pin) return gpio_get(P10_0);
|
||||||
|
else if (SPI2_CS0_P15_2 == cs_pin) return gpio_get(P15_2);
|
||||||
|
else if (SPI2_CS1_P14_2 == cs_pin) return gpio_get(P14_2);
|
||||||
|
else if (SPI2_CS2_P14_6 == cs_pin) return gpio_get(P14_6);
|
||||||
|
else if (SPI2_CS3_P14_3 == cs_pin) return gpio_get(P14_3);
|
||||||
|
else if (SPI2_CS5_P15_1 == cs_pin) return gpio_get(P15_1);
|
||||||
|
else if (SPI2_CS6_P33_13 == cs_pin) return gpio_get(P33_13);
|
||||||
|
else if (SPI2_CS7_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI2_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI2_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
|
||||||
|
else if (SPI3_CS0_P02_4 == cs_pin) return gpio_get(P02_4);
|
||||||
|
else if (SPI3_CS1_P02_0 == cs_pin) return gpio_get(P02_0);
|
||||||
|
else if (SPI3_CS1_P33_9 == cs_pin) return gpio_get(P33_9);
|
||||||
|
else if (SPI3_CS2_P02_1 == cs_pin) return gpio_get(P02_1);
|
||||||
|
else if (SPI3_CS2_P33_8 == cs_pin) return gpio_get(P33_8);
|
||||||
|
else if (SPI3_CS3_P02_2 == cs_pin) return gpio_get(P02_2);
|
||||||
|
else if (SPI3_CS4_P02_3 == cs_pin) return gpio_get(P02_3);
|
||||||
|
else if (SPI3_CS4_P23_5 == cs_pin) return gpio_get(P23_5);
|
||||||
|
else if (SPI3_CS5_P02_8 == cs_pin) return gpio_get(P02_8);
|
||||||
|
else if (SPI3_CS6_P00_8 == cs_pin) return gpio_get(P00_8);
|
||||||
|
else if (SPI3_CS7_P00_9 == cs_pin) return gpio_get(P00_9);
|
||||||
|
else if (SPI3_CS7_P33_7 == cs_pin) return gpio_get(P33_7);
|
||||||
|
else if (SPI3_CS8_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI3_CS11_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI3_CS12_P22_2 == cs_pin) return gpio_get(P22_2);
|
||||||
|
else if (SPI3_CS13_P23_1 == cs_pin) return gpio_get(P23_1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ZF_ASSERT(FALSE);
|
||||||
|
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>CS<43><53><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -335,6 +390,7 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
|
|||||||
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
||||||
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
||||||
}
|
}
|
||||||
|
while(!get_spi_cs_pin(cs_pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void lcd_init(void)
|
|||||||
lcd_writeData(0x05);
|
lcd_writeData(0x05);
|
||||||
lcd_writeIndex(0x29);
|
lcd_writeIndex(0x29);
|
||||||
|
|
||||||
lcd_clear(WHITE);//ȫ<><C8AB>
|
lcd_clear(RGB565_WHITE);//ȫ<><C8AB>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ void showimage(const unsigned char *p)
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
unsigned char picH,picL;
|
unsigned char picH,picL;
|
||||||
lcd_clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
lcd_clear(RGB565_WHITE); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
for(k=0;k<4;k++)
|
for(k=0;k<4;k++)
|
||||||
{
|
{
|
||||||
@@ -716,8 +716,8 @@ void lcd_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) lcd_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) lcd_writedata_16bit(RGB565_WHITE);
|
||||||
else lcd_writedata_16bit(BLACK);
|
else lcd_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define TFT_PENCOLOR RED
|
#define TFT_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define TFT_BGCOLOR WHITE
|
#define TFT_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
||||||
#define RED 0xF800 //<2F><>ɫ
|
#define RGB565_RED 0xF800 //<2F><>ɫ
|
||||||
#define BLUE 0x001F //<2F><>ɫ
|
#define RGB565_BLUE 0x001F //<2F><>ɫ
|
||||||
#define YELLOW 0xFFE0 //<2F><>ɫ
|
#define RGB565_YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
#define GREEN 0x07E0 //<2F><>ɫ
|
#define RGB565_GREEN 0x07E0 //<2F><>ɫ
|
||||||
#define WHITE 0xFFFF //<2F><>ɫ
|
#define RGB565_WHITE 0xFFFF //<2F><>ɫ
|
||||||
#define BLACK 0x0000 //<2F><>ɫ
|
#define RGB565_BLACK 0x0000 //<2F><>ɫ
|
||||||
#define GRAY 0X8430 //<2F><>ɫ
|
#define RGB565_GRAY 0X8430 //<2F><>ɫ
|
||||||
#define BROWN 0XBC40 //<2F><>ɫ
|
#define RGB565_BROWN 0XBC40 //<2F><>ɫ
|
||||||
#define PURPLE 0XF81F //<2F><>ɫ
|
#define RGB565_PURPLE 0XF81F //<2F><>ɫ
|
||||||
#define PINK 0XFE19 //<2F><>ɫ
|
#define RGB565_PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
extern const uint8 tft_ascii[95][16];
|
extern const uint8 tft_ascii[95][16];
|
||||||
|
|||||||
@@ -726,8 +726,8 @@ void ips114_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips114_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) ips114_writedata_16bit(RGB565_WHITE);
|
||||||
else ips114_writedata_16bit(BLACK);
|
else ips114_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define IPS114_PENCOLOR RED
|
#define IPS114_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define IPS114_BGCOLOR WHITE
|
#define IPS114_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,931 @@
|
|||||||
|
/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2022-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#include "SEEKFREE_IPS200.h"
|
||||||
|
|
||||||
|
static ips200_type_enum ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
static PIN_enum ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_w_data(uint8 dat) //д<><D0B4><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
||||||
|
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param command <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_reg(uint8 command) //д<><D0B4><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
IPS200_DC(0);
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&command,NULL,1,1);
|
||||||
|
IPS200_DC(1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(0);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(command);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat 8λ<38><CEBB><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_data(uint8 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>8λ<38><CEBB><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&dat,NULL,1,1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(dat);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat 16λ<36><CEBB><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_data16(uint16 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>16λ<36><CEBB><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
uint8 dat1[2];
|
||||||
|
dat1[0] = dat >> 8;
|
||||||
|
dat1[1] = (uint8)dat;
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,dat1,NULL,2,1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat>>8));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param com <20><><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat) //д<>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
{
|
||||||
|
ips200_wr_reg(com);
|
||||||
|
ips200_wr_data(dat);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x1 <20><>ʼx<CABC><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y1 <20><>ʼy<CABC><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x2 <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y2 <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
||||||
|
{
|
||||||
|
ips200_wr_reg(0x2a);
|
||||||
|
ips200_wr_data16(x1);
|
||||||
|
ips200_wr_data16(x2);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x2b);
|
||||||
|
ips200_wr_data16(y1);
|
||||||
|
ips200_wr_data16(y2);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x2c);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief 2.0<EFBFBD><EFBFBD> IPSҺ<53><D2BA><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
||||||
|
// @return type_select <20><><EFBFBD>ڻ<EFBFBD><DABB>ߴ<EFBFBD><DFB4><EFBFBD>ѡ<EFBFBD><D1A1>
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_init(ips200_type_enum type_select)
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == type_select)
|
||||||
|
{
|
||||||
|
ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
|
spi_init(IPS200_SPIN, IPS200_SCL_PIN_SPI, IPS200_SDA_PIN_SPI, IPS200_SDA_IN_PIN_SPI, IPS200_CS_PIN_SPI, 0, 30*1000*1000);//Ӳ<><D3B2>SPI<50><49>ʼ<EFBFBD><CABC>
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_SPI,GPO,1,PUSHPULL);
|
||||||
|
gpio_init(IPS200_DC_PIN_SPI,GPO,0,PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin,GPO,0,PUSHPULL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ips200_display_type = IPS200_TYPE_PARALLEL8;
|
||||||
|
ips_rst_pin = IPS200_RST_PIN_PARALLEL8;
|
||||||
|
gpio_init(IPS200_D0_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D1_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D2_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D3_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D4_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D5_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D6_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D7_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_CS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_WR_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RD_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
}
|
||||||
|
IPS200_BL(1);
|
||||||
|
IPS200_RST(0);
|
||||||
|
systick_delay_ms(STM0, 5);
|
||||||
|
IPS200_RST(1);
|
||||||
|
systick_delay_ms(STM0, 5);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x11);
|
||||||
|
systick_delay_ms(STM0, 120);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x36);
|
||||||
|
if (IPS200_DISPLAY_DIR==0) ips200_wr_data(0x00);
|
||||||
|
else if (IPS200_DISPLAY_DIR==1) ips200_wr_data(0xC0);
|
||||||
|
else if (IPS200_DISPLAY_DIR==2) ips200_wr_data(0x70);
|
||||||
|
else ips200_wr_data(0xA0);
|
||||||
|
|
||||||
|
|
||||||
|
ips200_wr_reg(0x3A);
|
||||||
|
ips200_wr_data(0x05);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xB2);
|
||||||
|
ips200_wr_data(0x0C);
|
||||||
|
ips200_wr_data(0x0C);
|
||||||
|
ips200_wr_data(0x00);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xB7);
|
||||||
|
ips200_wr_data(0x35);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xBB);
|
||||||
|
ips200_wr_data(0x29); //32 Vcom=1.35V
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC2);
|
||||||
|
ips200_wr_data(0x01);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC3);
|
||||||
|
ips200_wr_data(0x19); //GVDD=4.8V
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC4);
|
||||||
|
ips200_wr_data(0x20); //VDV, 0x20:0v
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC5);
|
||||||
|
ips200_wr_data(0x1A);//VCOM Offset Set
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC6);
|
||||||
|
ips200_wr_data(0x01F); //0x0F:60Hz
|
||||||
|
|
||||||
|
ips200_wr_reg(0xD0);
|
||||||
|
ips200_wr_data(0xA4);
|
||||||
|
ips200_wr_data(0xA1);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xE0);
|
||||||
|
ips200_wr_data(0xD0);
|
||||||
|
ips200_wr_data(0x08);
|
||||||
|
ips200_wr_data(0x0E);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x05);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x48);
|
||||||
|
ips200_wr_data(0x17);
|
||||||
|
ips200_wr_data(0x14);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x34);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xE1);
|
||||||
|
ips200_wr_data(0xD0);
|
||||||
|
ips200_wr_data(0x08);
|
||||||
|
ips200_wr_data(0x0E);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x48);
|
||||||
|
ips200_wr_data(0x17);
|
||||||
|
ips200_wr_data(0x14);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x34);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x21);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x29);
|
||||||
|
ips200_clear(IPS200_BGCOLOR); //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param color <09><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_clear(YELLOW);// ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_clear(uint16 color)
|
||||||
|
{
|
||||||
|
uint16 i,j;
|
||||||
|
ips200_address_set(0,0,IPS200_X_MAX-1,IPS200_Y_MAX-1);
|
||||||
|
for(i=0;i<IPS200_X_MAX;i++)
|
||||||
|
{
|
||||||
|
for (j=0;j<IPS200_Y_MAX;j++)
|
||||||
|
{
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ɫ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_drawpoint(0,0,RED); //<2F><><EFBFBD><EFBFBD>0,0<><30>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫ<EFBFBD>ĵ<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color)
|
||||||
|
{
|
||||||
|
ips200_address_set(x,y,x,y);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showchar(0,0,'x');//<2F><><EFBFBD><EFBFBD>0,0дһ<D0B4><D2BB><EFBFBD>ַ<EFBFBD>x
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat)
|
||||||
|
{
|
||||||
|
uint8 i,j;
|
||||||
|
uint8 temp;
|
||||||
|
|
||||||
|
for(i=0; i<16; i++)
|
||||||
|
{
|
||||||
|
ips200_address_set(x,y+i,x+7,y+i);
|
||||||
|
temp = tft_ascii[(uint16)dat-32][i];//<2F><>32<33><32>Ϊ<EFBFBD><CEAA>ȡģ<C8A1>Ǵӿո<D3BF><D5B8><EFBFBD>ʼȡ<CABC><C8A1> <20>ո<EFBFBD><D5B8><EFBFBD>ascii<69><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32
|
||||||
|
for(j=0; j<8; j++)
|
||||||
|
{
|
||||||
|
if(temp&0x01) ips200_wr_data16(IPS200_PENCOLOR);
|
||||||
|
else ips200_wr_data16(IPS200_BGCOLOR);
|
||||||
|
temp>>=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showstr(0,0,"seekfree");
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[])
|
||||||
|
{
|
||||||
|
uint16 j;
|
||||||
|
|
||||||
|
j = 0;
|
||||||
|
while(dat[j] != '\0')
|
||||||
|
{
|
||||||
|
ips200_showchar(x+8*j,y*16,dat[j]);
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38>з<EFBFBD><D0B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int8
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint8(0,0,x);//xΪint8<74><38><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat)
|
||||||
|
{
|
||||||
|
uint8 a[3];
|
||||||
|
uint8 i;
|
||||||
|
if(dat<0)
|
||||||
|
{
|
||||||
|
ips200_showchar(x,y*16,'-');
|
||||||
|
dat = -dat;
|
||||||
|
}
|
||||||
|
else ips200_showchar(x,y*16,' ');
|
||||||
|
|
||||||
|
a[0] = dat/100;
|
||||||
|
a[1] = dat/10%10;
|
||||||
|
a[2] = dat%10;
|
||||||
|
i = 0;
|
||||||
|
while(i<3)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint8
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showuint8(0,0,x);//xΪuint8<74><38><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat)
|
||||||
|
{
|
||||||
|
uint8 a[3];
|
||||||
|
uint8 i;
|
||||||
|
|
||||||
|
a[0] = dat/100;
|
||||||
|
a[1] = dat/10%10;
|
||||||
|
a[2] = dat%10;
|
||||||
|
i = 0;
|
||||||
|
while(i<3)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36>з<EFBFBD><D0B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int16
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint16(0,0,x);//xΪint16<31><36><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat)
|
||||||
|
{
|
||||||
|
uint8 a[5];
|
||||||
|
uint8 i;
|
||||||
|
if(dat<0)
|
||||||
|
{
|
||||||
|
ips200_showchar(x,y*16,'-');
|
||||||
|
dat = -dat;
|
||||||
|
}
|
||||||
|
else ips200_showchar(x,y*16,' ');
|
||||||
|
|
||||||
|
a[0] = dat/10000;
|
||||||
|
a[1] = dat/1000%10;
|
||||||
|
a[2] = dat/100%10;
|
||||||
|
a[3] = dat/10%10;
|
||||||
|
a[4] = dat%10;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while(i<5)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint16
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showuint16(0,0,x);//xΪuint16<31><36><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat)
|
||||||
|
{
|
||||||
|
uint8 a[5];
|
||||||
|
uint8 i;
|
||||||
|
|
||||||
|
a[0] = dat/10000;
|
||||||
|
a[1] = dat/1000%10;
|
||||||
|
a[2] = dat/100%10;
|
||||||
|
a[3] = dat/10%10;
|
||||||
|
a[4] = dat%10;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while(i<5)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ32λ<32>з<EFBFBD><D0B7><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint32
|
||||||
|
// @param num <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB> <20><><EFBFBD><EFBFBD>10λ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint32(0,0,x,3);//x<><78><EFBFBD><EFBFBD>Ϊint32 uint16 int16 uint8 int8<74><38><EFBFBD><EFBFBD>
|
||||||
|
// Sample usage: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num)
|
||||||
|
{
|
||||||
|
int8 buff[34];
|
||||||
|
uint32 length;
|
||||||
|
|
||||||
|
if(10<num) num = 10;
|
||||||
|
|
||||||
|
|
||||||
|
num++;
|
||||||
|
if(0>dat) length = zf_sprintf(&buff[0],"%d",dat);//<2F><><EFBFBD><EFBFBD>
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buff[0] = ' ';
|
||||||
|
length = zf_sprintf(&buff[1],"%d",dat);
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
while(length < num)
|
||||||
|
{
|
||||||
|
buff[length] = ' ';
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
buff[num] = '\0';
|
||||||
|
|
||||||
|
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<61><74>double
|
||||||
|
// @param num <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>10λ
|
||||||
|
// @param pointnum С<><D0A1>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>6λ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips_showfloat(0,0,x,2,3);//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2λ С<><D0A1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ
|
||||||
|
// @note <20>ر<EFBFBD>ע<EFBFBD><EFBFBD><E2B5B1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>µģ<C2B5><C4A3>Ⲣ<EFBFBD><E2B2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬
|
||||||
|
// <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD>аٶ<D0B0>ѧϰ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>⡣
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum)
|
||||||
|
{
|
||||||
|
uint32 length;
|
||||||
|
int8 buff[34];
|
||||||
|
int8 start,end,point;
|
||||||
|
|
||||||
|
if(6<pointnum) pointnum = 6;
|
||||||
|
if(10<num) num = 10;
|
||||||
|
|
||||||
|
if(0>dat) length = zf_sprintf( &buff[0],"%f",dat);//<2F><><EFBFBD><EFBFBD>
|
||||||
|
else
|
||||||
|
{
|
||||||
|
length = zf_sprintf( &buff[1],"%f",dat);
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
point = (int8)(length - 7); //<2F><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||||
|
start = point - num - 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ
|
||||||
|
end = point + pointnum + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
||||||
|
while(0>start)//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ĩβӦ<CEB2><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>
|
||||||
|
{
|
||||||
|
buff[end] = ' ';
|
||||||
|
end++;
|
||||||
|
start++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(0>dat) buff[start] = '-';
|
||||||
|
else buff[start] = ' ';
|
||||||
|
|
||||||
|
buff[end] = '\0';
|
||||||
|
|
||||||
|
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param w ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param l ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showimage(0,0,10,20,&image);//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0,0)<29><><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>20<32><30>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
unsigned char picH,picL;
|
||||||
|
ips200_address_set(x,y,x+w-1,y+l-1);
|
||||||
|
for(i=0;i<w*l;i++)
|
||||||
|
{
|
||||||
|
picL=*(p+i*2);
|
||||||
|
picH=*(p+i*2+1);
|
||||||
|
ips200_wr_data16(picH<<8|picL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
uint16 coord_x = 0;
|
||||||
|
uint16 coord_y = 0;
|
||||||
|
|
||||||
|
coord_x = width>IPS200_X_MAX?IPS200_X_MAX:width;
|
||||||
|
coord_y = height>IPS200_Y_MAX?IPS200_Y_MAX:height;
|
||||||
|
ips200_address_set(0,0,coord_x-1,coord_y-1);
|
||||||
|
|
||||||
|
for(j=0;j<coord_y;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<coord_x;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+j*width+i*width/coord_x);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>IPS200_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032_zoom(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032_zoom1(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, 0, 0, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
||||||
|
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
||||||
|
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
||||||
|
|
||||||
|
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240);//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ɫͼ<C9AB><CDBC>
|
||||||
|
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
uint16 color = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color = ((color&0xff)<<8) | (color>>8);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_zoom1(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 0, 0, 320, 240);
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
||||||
|
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
||||||
|
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
||||||
|
|
||||||
|
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color = ((color&0xff)<<8) | (color>>8);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>Ҷ<EFBFBD>)
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_grayscale_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240)//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷͼ<CDB7><CDBC> <20><>ʾY<CABE><59><EFBFBD><EFBFBD>
|
||||||
|
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ2ʱ<32><CAB1><EFBFBD><EFBFBD>ȡY<C8A1><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ҷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
||||||
|
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
temp = temp&0xff;
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief С<><D0A1><EFBFBD><EFBFBD>(<28><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120(<28><>)*160(<28><>)<29><><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
||||||
|
{
|
||||||
|
int i,j;
|
||||||
|
|
||||||
|
uint16 temp = 0;
|
||||||
|
ips200_address_set(0,0,width-1,height-1);
|
||||||
|
for(i=0;i<height * (width/8);i++)
|
||||||
|
{
|
||||||
|
temp = *p;
|
||||||
|
p++;
|
||||||
|
for(j=0; j<8; j++)
|
||||||
|
{
|
||||||
|
if( (temp<<j)&0x80 ) ips200_wr_data16(RGB565_WHITE);
|
||||||
|
else ips200_wr_data16(RGB565_BLACK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_Y_MAX-1<><31>
|
||||||
|
// @param size ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õĵ<C3B5><C4B5><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ٸ<EFBFBD><D9B8>㣬ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ġ<EFBFBD>
|
||||||
|
// @param *p <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param number <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>λ
|
||||||
|
// @param color <20><>ʾ<EFBFBD><CABE>ɫ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_display_chinese(0,0,16,chinese_test[0],4,RED);//<2F><>ʾfont<6E>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʾ<><CABE>
|
||||||
|
// @Note ʹ<><CAB9>PCtoLCD2002<30><32><EFBFBD><EFBFBD>ȡģ <20><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>˳<EFBFBD><CBB3> 16*16
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color)
|
||||||
|
{
|
||||||
|
int i, j, k;
|
||||||
|
uint8 temp, temp1, temp2;
|
||||||
|
const uint8 *p_data;
|
||||||
|
|
||||||
|
temp2 = size/8;
|
||||||
|
|
||||||
|
ips200_address_set(x,y,number*size-1+x,y+size-1);
|
||||||
|
|
||||||
|
for(i=0;i<size;i++)
|
||||||
|
{
|
||||||
|
temp1 = number;
|
||||||
|
p_data = p+i*temp2;
|
||||||
|
while(temp1--)
|
||||||
|
{
|
||||||
|
for(k=0;k<temp2;k++)
|
||||||
|
{
|
||||||
|
for(j=8;j>0;j--)
|
||||||
|
{
|
||||||
|
temp = (*p_data>>(j-1)) & 0x01;
|
||||||
|
if(temp) ips200_wr_data16(color);
|
||||||
|
else ips200_wr_data16(IPS200_BGCOLOR);
|
||||||
|
}
|
||||||
|
p_data++;
|
||||||
|
}
|
||||||
|
p_data = p_data - temp2 + temp2*size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
|
||||||
|
/*/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2020-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _SEEKFREE_IPS200_H
|
||||||
|
#define _SEEKFREE_IPS200_H
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "zf_stm_systick.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
#include "zf_assert.h"
|
||||||
|
#include "SEEKFREE_PRINTF.h"
|
||||||
|
#include "zf_spi.h"
|
||||||
|
#include "SEEKFREE_FUN.h"
|
||||||
|
#include "SEEKFREE_FONT.h"
|
||||||
|
|
||||||
|
|
||||||
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
||||||
|
//#define RED 0xF800 //<2F><>ɫ
|
||||||
|
//#define BLUE 0x001F //<2F><>ɫ
|
||||||
|
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
|
//#define GREEN 0x07E0 //<2F><>ɫ
|
||||||
|
//#define WHITE 0xFFFF //<2F><>ɫ
|
||||||
|
//#define BLACK 0x0000 //<2F><>ɫ
|
||||||
|
//#define GRAY 0X8430 //<2F><>ɫ
|
||||||
|
//#define BROWN 0XBC40 //<2F><>ɫ
|
||||||
|
//#define PURPLE 0XF81F //<2F><>ɫ
|
||||||
|
//#define PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BGCOLOR RGB565_WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
#define IPS200_PENCOLOR RGB565_RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SPIN SPI_2 //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
||||||
|
#define IPS200_SCL_PIN_SPI SPI2_SCLK_P15_3 //<2F><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_PIN_SPI SPI2_MOSI_P15_5 //<2F><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_IN_PIN_SPI SPI2_MISO_P15_4 //<2F><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
||||||
|
#define IPS200_CS_PIN_SPI SPI2_CS0_P15_2 //<2F><><EFBFBD><EFBFBD>SPI_CS<43><53><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_RST_PIN_SPI P15_1 // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
||||||
|
#define IPS200_DC_PIN_SPI P15_0
|
||||||
|
#define IPS200_BL_PIN_SPI P15_4
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
||||||
|
#define IPS200_RD_PIN_PARALLEL8 P15_3
|
||||||
|
#define IPS200_WR_PIN_PARALLEL8 P15_5
|
||||||
|
#define IPS200_RS_PIN_PARALLEL8 P15_1
|
||||||
|
#define IPS200_RST_PIN_PARALLEL8 P15_0
|
||||||
|
#define IPS200_CS_PIN_PARALLEL8 P15_2
|
||||||
|
#define IPS200_BL_PIN_PARALLEL8 P15_4
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õõ<C3B5>
|
||||||
|
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
||||||
|
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
||||||
|
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
||||||
|
#define IPS200_D0_PIN_PARALLEL8 P11_9
|
||||||
|
#define IPS200_D1_PIN_PARALLEL8 P11_10
|
||||||
|
#define IPS200_D2_PIN_PARALLEL8 P11_11
|
||||||
|
#define IPS200_D3_PIN_PARALLEL8 P11_12
|
||||||
|
#define IPS200_D4_PIN_PARALLEL8 P13_0
|
||||||
|
#define IPS200_D5_PIN_PARALLEL8 P13_1
|
||||||
|
#define IPS200_D6_PIN_PARALLEL8 P13_2
|
||||||
|
#define IPS200_D7_PIN_PARALLEL8 P13_3
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
||||||
|
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM1 (IPS200_D0_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM2 (IPS200_D4_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RST(x) gpio_set(ips_rst_pin,x)
|
||||||
|
|
||||||
|
#define IPS200_DC(x) gpio_set(IPS200_DC_PIN_SPI,x)
|
||||||
|
|
||||||
|
#define IPS200_W 240
|
||||||
|
#define IPS200_H 320
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IPS200_TYPE_SPI, // SPI <20><><EFBFBD><EFBFBD>
|
||||||
|
IPS200_TYPE_PARALLEL8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
}ips200_type_enum;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
#define IPS200_DISPLAY_DIR 0
|
||||||
|
|
||||||
|
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_init(ips200_type_enum type_select); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
||||||
|
void ips200_w_data(uint8 dat);
|
||||||
|
void ips200_wr_reg(uint8 com);
|
||||||
|
void ips200_wr_data(uint8 dat);
|
||||||
|
void ips200_wr_data16(uint16 dat);
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat);
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
||||||
|
void ips200_clear(uint16 color);
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
||||||
|
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,896 +0,0 @@
|
|||||||
/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#include "stdlib.h"
|
|
||||||
#include "string.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
#include "zf_stm_systick.h"
|
|
||||||
#include "zf_gpio.h"
|
|
||||||
#include "zf_assert.h"
|
|
||||||
#include "SEEKFREE_PRINTF.h"
|
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_w_data(uint8 dat) //д<><D0B4><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
|
||||||
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_reg(uint8 command) //д<><D0B4><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(0);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data(command);
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_data(uint8 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>8λ<38><CEBB><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(1);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data(dat);
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_data16(uint16 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>16λ<36><CEBB><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(1);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data((uint8)(dat>>8));
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data((uint8)(dat));
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat) //д<>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
{
|
|
||||||
ips200_wr_reg(com);
|
|
||||||
ips200_wr_data(dat);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
|
||||||
{
|
|
||||||
ips200_wr_reg(0x2a);
|
|
||||||
ips200_wr_data16(x1);
|
|
||||||
ips200_wr_data16(x2);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x2b);
|
|
||||||
ips200_wr_data16(y1);
|
|
||||||
ips200_wr_data16(y2);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x2c);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief 2.0<EFBFBD><EFBFBD> IPSҺ<53><D2BA><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_init(void)
|
|
||||||
{
|
|
||||||
gpio_init(IPS200_D0_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D1_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D2_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D3_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D4_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D5_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D6_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D7_PIN, GPO, 0, PUSHPULL);
|
|
||||||
|
|
||||||
gpio_init(IPS200_BL_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_CS_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RST_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RS_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_WR_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RD_PIN, GPO, 0, PUSHPULL);
|
|
||||||
|
|
||||||
IPS200_BL(1);
|
|
||||||
IPS200_RST(0);
|
|
||||||
systick_delay_ms(STM0, 5);
|
|
||||||
IPS200_RST(1);
|
|
||||||
systick_delay_ms(STM0, 5);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x11);
|
|
||||||
systick_delay_ms(STM0, 120);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x36);
|
|
||||||
if (IPS200_DISPLAY_DIR==0) ips200_wr_data(0x00);
|
|
||||||
else if (IPS200_DISPLAY_DIR==1) ips200_wr_data(0xC0);
|
|
||||||
else if (IPS200_DISPLAY_DIR==2) ips200_wr_data(0x70);
|
|
||||||
else ips200_wr_data(0xA0);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ips200_wr_reg(0x3A);
|
|
||||||
ips200_wr_data(0x05);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xB2);
|
|
||||||
ips200_wr_data(0x0C);
|
|
||||||
ips200_wr_data(0x0C);
|
|
||||||
ips200_wr_data(0x00);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xB7);
|
|
||||||
ips200_wr_data(0x35);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xBB);
|
|
||||||
ips200_wr_data(0x29); //32 Vcom=1.35V
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC2);
|
|
||||||
ips200_wr_data(0x01);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC3);
|
|
||||||
ips200_wr_data(0x19); //GVDD=4.8V
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC4);
|
|
||||||
ips200_wr_data(0x20); //VDV, 0x20:0v
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC5);
|
|
||||||
ips200_wr_data(0x1A);//VCOM Offset Set
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC6);
|
|
||||||
ips200_wr_data(0x01F); //0x0F:60Hz
|
|
||||||
|
|
||||||
ips200_wr_reg(0xD0);
|
|
||||||
ips200_wr_data(0xA4);
|
|
||||||
ips200_wr_data(0xA1);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xE0);
|
|
||||||
ips200_wr_data(0xD0);
|
|
||||||
ips200_wr_data(0x08);
|
|
||||||
ips200_wr_data(0x0E);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x05);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x48);
|
|
||||||
ips200_wr_data(0x17);
|
|
||||||
ips200_wr_data(0x14);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x34);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xE1);
|
|
||||||
ips200_wr_data(0xD0);
|
|
||||||
ips200_wr_data(0x08);
|
|
||||||
ips200_wr_data(0x0E);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x48);
|
|
||||||
ips200_wr_data(0x17);
|
|
||||||
ips200_wr_data(0x14);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x34);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x21);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x29);
|
|
||||||
ips200_clear(IPS200_BGCOLOR); //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param color <09><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_clear(YELLOW);// ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_clear(uint16 color)
|
|
||||||
{
|
|
||||||
uint16 i,j;
|
|
||||||
ips200_address_set(0,0,IPS200_X_MAX-1,IPS200_Y_MAX-1);
|
|
||||||
for(i=0;i<IPS200_X_MAX;i++)
|
|
||||||
{
|
|
||||||
for (j=0;j<IPS200_Y_MAX;j++)
|
|
||||||
{
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ɫ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_drawpoint(0,0,RED); //<2F><><EFBFBD><EFBFBD>0,0<><30>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫ<EFBFBD>ĵ<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color)
|
|
||||||
{
|
|
||||||
ips200_address_set(x,y,x,y);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showchar(0,0,'x');//<2F><><EFBFBD><EFBFBD>0,0дһ<D0B4><D2BB><EFBFBD>ַ<EFBFBD>x
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat)
|
|
||||||
{
|
|
||||||
uint8 i,j;
|
|
||||||
uint8 temp;
|
|
||||||
|
|
||||||
for(i=0; i<16; i++)
|
|
||||||
{
|
|
||||||
ips200_address_set(x,y+i,x+7,y+i);
|
|
||||||
temp = tft_ascii[(uint16)dat-32][i];//<2F><>32<33><32>Ϊ<EFBFBD><CEAA>ȡģ<C8A1>Ǵӿո<D3BF><D5B8><EFBFBD>ʼȡ<CABC><C8A1> <20>ո<EFBFBD><D5B8><EFBFBD>ascii<69><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32
|
|
||||||
for(j=0; j<8; j++)
|
|
||||||
{
|
|
||||||
if(temp&0x01) ips200_wr_data16(IPS200_PENCOLOR);
|
|
||||||
else ips200_wr_data16(IPS200_BGCOLOR);
|
|
||||||
temp>>=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showstr(0,0,"seekfree");
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[])
|
|
||||||
{
|
|
||||||
uint16 j;
|
|
||||||
|
|
||||||
j = 0;
|
|
||||||
while(dat[j] != '\0')
|
|
||||||
{
|
|
||||||
ips200_showchar(x+8*j,y*16,dat[j]);
|
|
||||||
j++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38>з<EFBFBD><D0B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int8
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint8(0,0,x);//xΪint8<74><38><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat)
|
|
||||||
{
|
|
||||||
uint8 a[3];
|
|
||||||
uint8 i;
|
|
||||||
if(dat<0)
|
|
||||||
{
|
|
||||||
ips200_showchar(x,y*16,'-');
|
|
||||||
dat = -dat;
|
|
||||||
}
|
|
||||||
else ips200_showchar(x,y*16,' ');
|
|
||||||
|
|
||||||
a[0] = dat/100;
|
|
||||||
a[1] = dat/10%10;
|
|
||||||
a[2] = dat%10;
|
|
||||||
i = 0;
|
|
||||||
while(i<3)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint8
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showuint8(0,0,x);//xΪuint8<74><38><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat)
|
|
||||||
{
|
|
||||||
uint8 a[3];
|
|
||||||
uint8 i;
|
|
||||||
|
|
||||||
a[0] = dat/100;
|
|
||||||
a[1] = dat/10%10;
|
|
||||||
a[2] = dat%10;
|
|
||||||
i = 0;
|
|
||||||
while(i<3)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36>з<EFBFBD><D0B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int16
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint16(0,0,x);//xΪint16<31><36><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat)
|
|
||||||
{
|
|
||||||
uint8 a[5];
|
|
||||||
uint8 i;
|
|
||||||
if(dat<0)
|
|
||||||
{
|
|
||||||
ips200_showchar(x,y*16,'-');
|
|
||||||
dat = -dat;
|
|
||||||
}
|
|
||||||
else ips200_showchar(x,y*16,' ');
|
|
||||||
|
|
||||||
a[0] = dat/10000;
|
|
||||||
a[1] = dat/1000%10;
|
|
||||||
a[2] = dat/100%10;
|
|
||||||
a[3] = dat/10%10;
|
|
||||||
a[4] = dat%10;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while(i<5)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint16
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showuint16(0,0,x);//xΪuint16<31><36><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat)
|
|
||||||
{
|
|
||||||
uint8 a[5];
|
|
||||||
uint8 i;
|
|
||||||
|
|
||||||
a[0] = dat/10000;
|
|
||||||
a[1] = dat/1000%10;
|
|
||||||
a[2] = dat/100%10;
|
|
||||||
a[3] = dat/10%10;
|
|
||||||
a[4] = dat%10;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while(i<5)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ32λ<32>з<EFBFBD><D0B7><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint32
|
|
||||||
// @param num <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB> <20><><EFBFBD><EFBFBD>10λ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint32(0,0,x,3);//x<><78><EFBFBD><EFBFBD>Ϊint32 uint16 int16 uint8 int8<74><38><EFBFBD><EFBFBD>
|
|
||||||
// Sample usage: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num)
|
|
||||||
{
|
|
||||||
int8 buff[34];
|
|
||||||
uint32 length;
|
|
||||||
|
|
||||||
if(10<num) num = 10;
|
|
||||||
|
|
||||||
|
|
||||||
num++;
|
|
||||||
if(0>dat) length = zf_sprintf(&buff[0],"%d",dat);//<2F><><EFBFBD><EFBFBD>
|
|
||||||
else
|
|
||||||
{
|
|
||||||
buff[0] = ' ';
|
|
||||||
length = zf_sprintf(&buff[1],"%d",dat);
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
while(length < num)
|
|
||||||
{
|
|
||||||
buff[length] = ' ';
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
buff[num] = '\0';
|
|
||||||
|
|
||||||
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<61><74>double
|
|
||||||
// @param num <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>10λ
|
|
||||||
// @param pointnum С<><D0A1>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>6λ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips_showfloat(0,0,x,2,3);//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2λ С<><D0A1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ
|
|
||||||
// @note <20>ر<EFBFBD>ע<EFBFBD><EFBFBD><E2B5B1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>µģ<C2B5><C4A3>Ⲣ<EFBFBD><E2B2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬
|
|
||||||
// <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD>аٶ<D0B0>ѧϰ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>⡣
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum)
|
|
||||||
{
|
|
||||||
uint32 length;
|
|
||||||
int8 buff[34];
|
|
||||||
int8 start,end,point;
|
|
||||||
|
|
||||||
if(6<pointnum) pointnum = 6;
|
|
||||||
if(10<num) num = 10;
|
|
||||||
|
|
||||||
if(0>dat) length = zf_sprintf( &buff[0],"%f",dat);//<2F><><EFBFBD><EFBFBD>
|
|
||||||
else
|
|
||||||
{
|
|
||||||
length = zf_sprintf( &buff[1],"%f",dat);
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
point = (int8)(length - 7); //<2F><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
||||||
start = point - num - 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ
|
|
||||||
end = point + pointnum + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
|
||||||
while(0>start)//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ĩβӦ<CEB2><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>
|
|
||||||
{
|
|
||||||
buff[end] = ' ';
|
|
||||||
end++;
|
|
||||||
start++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(0>dat) buff[start] = '-';
|
|
||||||
else buff[start] = ' ';
|
|
||||||
|
|
||||||
buff[end] = '\0';
|
|
||||||
|
|
||||||
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param w ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param l ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showimage(0,0,10,20,&image);//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0,0)<29><><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>20<32><30>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
unsigned char picH,picL;
|
|
||||||
ips200_address_set(x,y,x+w-1,y+l-1);
|
|
||||||
for(i=0;i<w*l;i++)
|
|
||||||
{
|
|
||||||
picL=*(p+i*2);
|
|
||||||
picH=*(p+i*2+1);
|
|
||||||
ips200_wr_data16(picH<<8|picL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
uint16 coord_x = 0;
|
|
||||||
uint16 coord_y = 0;
|
|
||||||
|
|
||||||
coord_x = width>IPS200_X_MAX?IPS200_X_MAX:width;
|
|
||||||
coord_y = height>IPS200_Y_MAX?IPS200_Y_MAX:height;
|
|
||||||
ips200_address_set(0,0,coord_x-1,coord_y-1);
|
|
||||||
|
|
||||||
for(j=0;j<coord_y;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<coord_x;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+j*width+i*width/coord_x);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>IPS200_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032_zoom(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032_zoom1(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, 0, 0, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
|
||||||
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
|
||||||
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
|
||||||
|
|
||||||
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240);//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ɫͼ<C9AB><CDBC>
|
|
||||||
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
uint16 color = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color = ((color&0xff)<<8) | (color>>8);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_zoom1(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 0, 0, 320, 240);
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
|
||||||
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
|
||||||
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
|
||||||
|
|
||||||
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color = ((color&0xff)<<8) | (color>>8);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>Ҷ<EFBFBD>)
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_grayscale_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240)//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷͼ<CDB7><CDBC> <20><>ʾY<CABE><59><EFBFBD><EFBFBD>
|
|
||||||
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ2ʱ<32><CAB1><EFBFBD><EFBFBD>ȡY<C8A1><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ҷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
||||||
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
temp = temp&0xff;
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief С<><D0A1><EFBFBD><EFBFBD>(<28><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120(<28><>)*160(<28><>)<29><><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|
||||||
{
|
|
||||||
int i,j;
|
|
||||||
|
|
||||||
uint16 temp = 0;
|
|
||||||
ips200_address_set(0,0,width-1,height-1);
|
|
||||||
for(i=0;i<height * (width/8);i++)
|
|
||||||
{
|
|
||||||
temp = *p;
|
|
||||||
p++;
|
|
||||||
for(j=0; j<8; j++)
|
|
||||||
{
|
|
||||||
if( (temp<<j)&0x80 ) ips200_wr_data16(WHITE);
|
|
||||||
else ips200_wr_data16(BLACK);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_Y_MAX-1<><31>
|
|
||||||
// @param size ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õĵ<C3B5><C4B5><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ٸ<EFBFBD><D9B8>㣬ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ġ<EFBFBD>
|
|
||||||
// @param *p <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param number <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>λ
|
|
||||||
// @param color <20><>ʾ<EFBFBD><CABE>ɫ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_display_chinese(0,0,16,chinese_test[0],4,RED);//<2F><>ʾfont<6E>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʾ<><CABE>
|
|
||||||
// @Note ʹ<><CAB9>PCtoLCD2002<30><32><EFBFBD><EFBFBD>ȡģ <20><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>˳<EFBFBD><CBB3> 16*16
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color)
|
|
||||||
{
|
|
||||||
int i, j, k;
|
|
||||||
uint8 temp, temp1, temp2;
|
|
||||||
const uint8 *p_data;
|
|
||||||
|
|
||||||
temp2 = size/8;
|
|
||||||
|
|
||||||
ips200_address_set(x,y,number*size-1+x,y+size-1);
|
|
||||||
|
|
||||||
for(i=0;i<size;i++)
|
|
||||||
{
|
|
||||||
temp1 = number;
|
|
||||||
p_data = p+i*temp2;
|
|
||||||
while(temp1--)
|
|
||||||
{
|
|
||||||
for(k=0;k<temp2;k++)
|
|
||||||
{
|
|
||||||
for(j=8;j>0;j--)
|
|
||||||
{
|
|
||||||
temp = (*p_data>>(j-1)) & 0x01;
|
|
||||||
if(temp) ips200_wr_data16(color);
|
|
||||||
else ips200_wr_data16(IPS200_BGCOLOR);
|
|
||||||
}
|
|
||||||
p_data++;
|
|
||||||
}
|
|
||||||
p_data = p_data - temp2 + temp2*size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
/*/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
#define _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "SEEKFREE_FONT.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
|
||||||
//#define RED 0xF800 //<2F><>ɫ
|
|
||||||
//#define BLUE 0x001F //<2F><>ɫ
|
|
||||||
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
|
||||||
//#define GREEN 0x07E0 //<2F><>ɫ
|
|
||||||
//#define WHITE 0xFFFF //<2F><>ɫ
|
|
||||||
//#define BLACK 0x0000 //<2F><>ɫ
|
|
||||||
//#define GRAY 0X8430 //<2F><>ɫ
|
|
||||||
//#define BROWN 0XBC40 //<2F><>ɫ
|
|
||||||
//#define PURPLE 0XF81F //<2F><>ɫ
|
|
||||||
//#define PINK 0XFE19 //<2F><>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BGCOLOR WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
#define IPS200_PENCOLOR RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|
||||||
#define IPS200_RD_PIN P15_3
|
|
||||||
#define IPS200_WR_PIN P15_5
|
|
||||||
#define IPS200_RS_PIN P15_1
|
|
||||||
#define IPS200_RST_PIN P15_0
|
|
||||||
#define IPS200_CS_PIN P15_2
|
|
||||||
#define IPS200_BL_PIN P15_4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
|
||||||
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
|
||||||
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
|
||||||
#define IPS200_D0_PIN P11_9
|
|
||||||
#define IPS200_D1_PIN P11_10
|
|
||||||
#define IPS200_D2_PIN P11_11
|
|
||||||
#define IPS200_D3_PIN P11_12
|
|
||||||
#define IPS200_D4_PIN P13_0
|
|
||||||
#define IPS200_D5_PIN P13_1
|
|
||||||
#define IPS200_D6_PIN P13_2
|
|
||||||
#define IPS200_D7_PIN P13_3
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
||||||
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM1 (IPS200_D0_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM2 (IPS200_D4_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN,x)
|
|
||||||
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN,x)
|
|
||||||
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN,x)
|
|
||||||
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN,x)
|
|
||||||
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN,x)
|
|
||||||
#define IPS200_RST(x) gpio_set(IPS200_RST_PIN,x)
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_W 240
|
|
||||||
#define IPS200_H 320
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
#define IPS200_DISPLAY_DIR 0
|
|
||||||
|
|
||||||
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_init(void); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
|
||||||
void ips200_w_data(uint8 dat);
|
|
||||||
void ips200_wr_reg(uint8 com);
|
|
||||||
void ips200_wr_data(uint8 dat);
|
|
||||||
void ips200_wr_data16(uint16 dat);
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat);
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
|
||||||
void ips200_clear(uint16 color);
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
|
||||||
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V1.2.9
|
||||||
|
ɾ<><C9BE>SEEKFREE_IPS200_PARALLEL8<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEEKFREE_IPS200<30><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
V1.2.8
|
V1.2.8
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
#include "SEEKFREE_MMA8451.h"
|
#include "SEEKFREE_MMA8451.h"
|
||||||
#include "SEEKFREE_L3G4200D.h"
|
#include "SEEKFREE_L3G4200D.h"
|
||||||
#include "SEEKFREE_WIRELESS.h"
|
#include "SEEKFREE_WIRELESS.h"
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "SEEKFREE_7725.h"
|
#include "SEEKFREE_7725.h"
|
||||||
#include "SEEKFREE_RDA5807.h"
|
#include "SEEKFREE_RDA5807.h"
|
||||||
#include "SEEKFREE_7725_UART.h"
|
#include "SEEKFREE_7725_UART.h"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "IfxQspi.h"
|
#include "IfxQspi.h"
|
||||||
#include "zf_assert.h"
|
#include "zf_assert.h"
|
||||||
#include "zf_spi.h"
|
#include "zf_spi.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
|
||||||
#define MAX_BAUD 50000000
|
#define MAX_BAUD 50000000
|
||||||
|
|
||||||
@@ -183,7 +183,62 @@ void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_P
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8 get_spi_cs_pin(SPI_PIN_enum cs_pin)
|
||||||
|
{
|
||||||
|
if (SPI0_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI0_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI0_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI0_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI0_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI0_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI0_CS6_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI0_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI0_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI0_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
else if (SPI0_CS13_P15_0 == cs_pin) return gpio_get(P15_0);
|
||||||
|
else if (SPI1_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI1_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI1_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI1_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI1_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI1_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI1_CS6_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI1_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI1_CS8_P10_4 == cs_pin) return gpio_get(P10_4);
|
||||||
|
else if (SPI1_CS9_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI1_CS10_P10_0 == cs_pin) return gpio_get(P10_0);
|
||||||
|
else if (SPI2_CS0_P15_2 == cs_pin) return gpio_get(P15_2);
|
||||||
|
else if (SPI2_CS1_P14_2 == cs_pin) return gpio_get(P14_2);
|
||||||
|
else if (SPI2_CS2_P14_6 == cs_pin) return gpio_get(P14_6);
|
||||||
|
else if (SPI2_CS3_P14_3 == cs_pin) return gpio_get(P14_3);
|
||||||
|
else if (SPI2_CS5_P15_1 == cs_pin) return gpio_get(P15_1);
|
||||||
|
else if (SPI2_CS6_P33_13 == cs_pin) return gpio_get(P33_13);
|
||||||
|
else if (SPI2_CS7_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI2_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI2_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
|
||||||
|
else if (SPI3_CS0_P02_4 == cs_pin) return gpio_get(P02_4);
|
||||||
|
else if (SPI3_CS1_P02_0 == cs_pin) return gpio_get(P02_0);
|
||||||
|
else if (SPI3_CS1_P33_9 == cs_pin) return gpio_get(P33_9);
|
||||||
|
else if (SPI3_CS2_P02_1 == cs_pin) return gpio_get(P02_1);
|
||||||
|
else if (SPI3_CS2_P33_8 == cs_pin) return gpio_get(P33_8);
|
||||||
|
else if (SPI3_CS3_P02_2 == cs_pin) return gpio_get(P02_2);
|
||||||
|
else if (SPI3_CS4_P02_3 == cs_pin) return gpio_get(P02_3);
|
||||||
|
else if (SPI3_CS4_P23_5 == cs_pin) return gpio_get(P23_5);
|
||||||
|
else if (SPI3_CS5_P02_8 == cs_pin) return gpio_get(P02_8);
|
||||||
|
else if (SPI3_CS6_P00_8 == cs_pin) return gpio_get(P00_8);
|
||||||
|
else if (SPI3_CS7_P00_9 == cs_pin) return gpio_get(P00_9);
|
||||||
|
else if (SPI3_CS7_P33_7 == cs_pin) return gpio_get(P33_7);
|
||||||
|
else if (SPI3_CS8_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI3_CS11_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI3_CS12_P22_2 == cs_pin) return gpio_get(P22_2);
|
||||||
|
else if (SPI3_CS13_P23_1 == cs_pin) return gpio_get(P23_1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ZF_ASSERT(FALSE);
|
||||||
|
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>CS<43><53><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -335,6 +390,7 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
|
|||||||
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
||||||
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
||||||
}
|
}
|
||||||
|
while(!get_spi_cs_pin(cs_pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void lcd_init(void)
|
|||||||
lcd_writeData(0x05);
|
lcd_writeData(0x05);
|
||||||
lcd_writeIndex(0x29);
|
lcd_writeIndex(0x29);
|
||||||
|
|
||||||
lcd_clear(WHITE);//ȫ<><C8AB>
|
lcd_clear(RGB565_WHITE);//ȫ<><C8AB>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ void showimage(const unsigned char *p)
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
unsigned char picH,picL;
|
unsigned char picH,picL;
|
||||||
lcd_clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
lcd_clear(RGB565_WHITE); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
for(k=0;k<4;k++)
|
for(k=0;k<4;k++)
|
||||||
{
|
{
|
||||||
@@ -716,8 +716,8 @@ void lcd_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) lcd_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) lcd_writedata_16bit(RGB565_WHITE);
|
||||||
else lcd_writedata_16bit(BLACK);
|
else lcd_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define TFT_PENCOLOR RED
|
#define TFT_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define TFT_BGCOLOR WHITE
|
#define TFT_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
||||||
#define RED 0xF800 //<2F><>ɫ
|
#define RGB565_RED 0xF800 //<2F><>ɫ
|
||||||
#define BLUE 0x001F //<2F><>ɫ
|
#define RGB565_BLUE 0x001F //<2F><>ɫ
|
||||||
#define YELLOW 0xFFE0 //<2F><>ɫ
|
#define RGB565_YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
#define GREEN 0x07E0 //<2F><>ɫ
|
#define RGB565_GREEN 0x07E0 //<2F><>ɫ
|
||||||
#define WHITE 0xFFFF //<2F><>ɫ
|
#define RGB565_WHITE 0xFFFF //<2F><>ɫ
|
||||||
#define BLACK 0x0000 //<2F><>ɫ
|
#define RGB565_BLACK 0x0000 //<2F><>ɫ
|
||||||
#define GRAY 0X8430 //<2F><>ɫ
|
#define RGB565_GRAY 0X8430 //<2F><>ɫ
|
||||||
#define BROWN 0XBC40 //<2F><>ɫ
|
#define RGB565_BROWN 0XBC40 //<2F><>ɫ
|
||||||
#define PURPLE 0XF81F //<2F><>ɫ
|
#define RGB565_PURPLE 0XF81F //<2F><>ɫ
|
||||||
#define PINK 0XFE19 //<2F><>ɫ
|
#define RGB565_PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
extern const uint8 tft_ascii[95][16];
|
extern const uint8 tft_ascii[95][16];
|
||||||
|
|||||||
@@ -726,8 +726,8 @@ void ips114_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips114_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) ips114_writedata_16bit(RGB565_WHITE);
|
||||||
else ips114_writedata_16bit(BLACK);
|
else ips114_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define IPS114_PENCOLOR RED
|
#define IPS114_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define IPS114_BGCOLOR WHITE
|
#define IPS114_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,931 @@
|
|||||||
|
/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2022-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#include "SEEKFREE_IPS200.h"
|
||||||
|
|
||||||
|
static ips200_type_enum ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
static PIN_enum ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_w_data(uint8 dat) //д<><D0B4><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
||||||
|
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param command <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_reg(uint8 command) //д<><D0B4><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
IPS200_DC(0);
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&command,NULL,1,1);
|
||||||
|
IPS200_DC(1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(0);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(command);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat 8λ<38><CEBB><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_data(uint8 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>8λ<38><CEBB><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,&dat,NULL,1,1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data(dat);
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat 16λ<36><CEBB><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_wr_data16(uint16 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>16λ<36><CEBB><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == ips200_display_type)
|
||||||
|
{
|
||||||
|
uint8 dat1[2];
|
||||||
|
dat1[0] = dat >> 8;
|
||||||
|
dat1[1] = (uint8)dat;
|
||||||
|
spi_mosi(IPS200_SPIN,IPS200_CS_PIN_SPI,dat1,NULL,2,1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IPS200_CS(0);
|
||||||
|
IPS200_RS(1);
|
||||||
|
IPS200_RD(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat>>8));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_WR(0);
|
||||||
|
ips200_w_data((uint8)(dat));
|
||||||
|
IPS200_WR(1);
|
||||||
|
IPS200_CS(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param com <20><><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat) //д<>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
{
|
||||||
|
ips200_wr_reg(com);
|
||||||
|
ips200_wr_data(dat);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x1 <20><>ʼx<CABC><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y1 <20><>ʼy<CABC><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x2 <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y2 <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @return
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
||||||
|
{
|
||||||
|
ips200_wr_reg(0x2a);
|
||||||
|
ips200_wr_data16(x1);
|
||||||
|
ips200_wr_data16(x2);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x2b);
|
||||||
|
ips200_wr_data16(y1);
|
||||||
|
ips200_wr_data16(y2);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x2c);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief 2.0<EFBFBD><EFBFBD> IPSҺ<53><D2BA><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
||||||
|
// @return type_select <20><><EFBFBD>ڻ<EFBFBD><DABB>ߴ<EFBFBD><DFB4><EFBFBD>ѡ<EFBFBD><D1A1>
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage:
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_init(ips200_type_enum type_select)
|
||||||
|
{
|
||||||
|
if(IPS200_TYPE_SPI == type_select)
|
||||||
|
{
|
||||||
|
ips200_display_type = IPS200_TYPE_SPI;
|
||||||
|
ips_rst_pin = IPS200_RST_PIN_SPI;
|
||||||
|
spi_init(IPS200_SPIN, IPS200_SCL_PIN_SPI, IPS200_SDA_PIN_SPI, IPS200_SDA_IN_PIN_SPI, IPS200_CS_PIN_SPI, 0, 30*1000*1000);//Ӳ<><D3B2>SPI<50><49>ʼ<EFBFBD><CABC>
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_SPI,GPO,1,PUSHPULL);
|
||||||
|
gpio_init(IPS200_DC_PIN_SPI,GPO,0,PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin,GPO,0,PUSHPULL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ips200_display_type = IPS200_TYPE_PARALLEL8;
|
||||||
|
ips_rst_pin = IPS200_RST_PIN_PARALLEL8;
|
||||||
|
gpio_init(IPS200_D0_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D1_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D2_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D3_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D4_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D5_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D6_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_D7_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
|
||||||
|
gpio_init(IPS200_BL_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_CS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(ips_rst_pin, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RS_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_WR_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
gpio_init(IPS200_RD_PIN_PARALLEL8, GPO, 0, PUSHPULL);
|
||||||
|
}
|
||||||
|
IPS200_BL(1);
|
||||||
|
IPS200_RST(0);
|
||||||
|
systick_delay_ms(STM0, 5);
|
||||||
|
IPS200_RST(1);
|
||||||
|
systick_delay_ms(STM0, 5);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x11);
|
||||||
|
systick_delay_ms(STM0, 120);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x36);
|
||||||
|
if (IPS200_DISPLAY_DIR==0) ips200_wr_data(0x00);
|
||||||
|
else if (IPS200_DISPLAY_DIR==1) ips200_wr_data(0xC0);
|
||||||
|
else if (IPS200_DISPLAY_DIR==2) ips200_wr_data(0x70);
|
||||||
|
else ips200_wr_data(0xA0);
|
||||||
|
|
||||||
|
|
||||||
|
ips200_wr_reg(0x3A);
|
||||||
|
ips200_wr_data(0x05);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xB2);
|
||||||
|
ips200_wr_data(0x0C);
|
||||||
|
ips200_wr_data(0x0C);
|
||||||
|
ips200_wr_data(0x00);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xB7);
|
||||||
|
ips200_wr_data(0x35);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xBB);
|
||||||
|
ips200_wr_data(0x29); //32 Vcom=1.35V
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC2);
|
||||||
|
ips200_wr_data(0x01);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC3);
|
||||||
|
ips200_wr_data(0x19); //GVDD=4.8V
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC4);
|
||||||
|
ips200_wr_data(0x20); //VDV, 0x20:0v
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC5);
|
||||||
|
ips200_wr_data(0x1A);//VCOM Offset Set
|
||||||
|
|
||||||
|
ips200_wr_reg(0xC6);
|
||||||
|
ips200_wr_data(0x01F); //0x0F:60Hz
|
||||||
|
|
||||||
|
ips200_wr_reg(0xD0);
|
||||||
|
ips200_wr_data(0xA4);
|
||||||
|
ips200_wr_data(0xA1);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xE0);
|
||||||
|
ips200_wr_data(0xD0);
|
||||||
|
ips200_wr_data(0x08);
|
||||||
|
ips200_wr_data(0x0E);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x05);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x48);
|
||||||
|
ips200_wr_data(0x17);
|
||||||
|
ips200_wr_data(0x14);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x34);
|
||||||
|
|
||||||
|
ips200_wr_reg(0xE1);
|
||||||
|
ips200_wr_data(0xD0);
|
||||||
|
ips200_wr_data(0x08);
|
||||||
|
ips200_wr_data(0x0E);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x09);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x33);
|
||||||
|
ips200_wr_data(0x48);
|
||||||
|
ips200_wr_data(0x17);
|
||||||
|
ips200_wr_data(0x14);
|
||||||
|
ips200_wr_data(0x15);
|
||||||
|
ips200_wr_data(0x31);
|
||||||
|
ips200_wr_data(0x34);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x21);
|
||||||
|
|
||||||
|
ips200_wr_reg(0x29);
|
||||||
|
ips200_clear(IPS200_BGCOLOR); //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param color <09><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_clear(YELLOW);// ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_clear(uint16 color)
|
||||||
|
{
|
||||||
|
uint16 i,j;
|
||||||
|
ips200_address_set(0,0,IPS200_X_MAX-1,IPS200_Y_MAX-1);
|
||||||
|
for(i=0;i<IPS200_X_MAX;i++)
|
||||||
|
{
|
||||||
|
for (j=0;j<IPS200_Y_MAX;j++)
|
||||||
|
{
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ɫ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_drawpoint(0,0,RED); //<2F><><EFBFBD><EFBFBD>0,0<><30>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫ<EFBFBD>ĵ<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color)
|
||||||
|
{
|
||||||
|
ips200_address_set(x,y,x,y);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showchar(0,0,'x');//<2F><><EFBFBD><EFBFBD>0,0дһ<D0B4><D2BB><EFBFBD>ַ<EFBFBD>x
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat)
|
||||||
|
{
|
||||||
|
uint8 i,j;
|
||||||
|
uint8 temp;
|
||||||
|
|
||||||
|
for(i=0; i<16; i++)
|
||||||
|
{
|
||||||
|
ips200_address_set(x,y+i,x+7,y+i);
|
||||||
|
temp = tft_ascii[(uint16)dat-32][i];//<2F><>32<33><32>Ϊ<EFBFBD><CEAA>ȡģ<C8A1>Ǵӿո<D3BF><D5B8><EFBFBD>ʼȡ<CABC><C8A1> <20>ո<EFBFBD><D5B8><EFBFBD>ascii<69><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32
|
||||||
|
for(j=0; j<8; j++)
|
||||||
|
{
|
||||||
|
if(temp&0x01) ips200_wr_data16(IPS200_PENCOLOR);
|
||||||
|
else ips200_wr_data16(IPS200_BGCOLOR);
|
||||||
|
temp>>=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showstr(0,0,"seekfree");
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[])
|
||||||
|
{
|
||||||
|
uint16 j;
|
||||||
|
|
||||||
|
j = 0;
|
||||||
|
while(dat[j] != '\0')
|
||||||
|
{
|
||||||
|
ips200_showchar(x+8*j,y*16,dat[j]);
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38>з<EFBFBD><D0B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int8
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint8(0,0,x);//xΪint8<74><38><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat)
|
||||||
|
{
|
||||||
|
uint8 a[3];
|
||||||
|
uint8 i;
|
||||||
|
if(dat<0)
|
||||||
|
{
|
||||||
|
ips200_showchar(x,y*16,'-');
|
||||||
|
dat = -dat;
|
||||||
|
}
|
||||||
|
else ips200_showchar(x,y*16,' ');
|
||||||
|
|
||||||
|
a[0] = dat/100;
|
||||||
|
a[1] = dat/10%10;
|
||||||
|
a[2] = dat%10;
|
||||||
|
i = 0;
|
||||||
|
while(i<3)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint8
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showuint8(0,0,x);//xΪuint8<74><38><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat)
|
||||||
|
{
|
||||||
|
uint8 a[3];
|
||||||
|
uint8 i;
|
||||||
|
|
||||||
|
a[0] = dat/100;
|
||||||
|
a[1] = dat/10%10;
|
||||||
|
a[2] = dat%10;
|
||||||
|
i = 0;
|
||||||
|
while(i<3)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36>з<EFBFBD><D0B7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int16
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint16(0,0,x);//xΪint16<31><36><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat)
|
||||||
|
{
|
||||||
|
uint8 a[5];
|
||||||
|
uint8 i;
|
||||||
|
if(dat<0)
|
||||||
|
{
|
||||||
|
ips200_showchar(x,y*16,'-');
|
||||||
|
dat = -dat;
|
||||||
|
}
|
||||||
|
else ips200_showchar(x,y*16,' ');
|
||||||
|
|
||||||
|
a[0] = dat/10000;
|
||||||
|
a[1] = dat/1000%10;
|
||||||
|
a[2] = dat/100%10;
|
||||||
|
a[3] = dat/10%10;
|
||||||
|
a[4] = dat%10;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while(i<5)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint16
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showuint16(0,0,x);//xΪuint16<31><36><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat)
|
||||||
|
{
|
||||||
|
uint8 a[5];
|
||||||
|
uint8 i;
|
||||||
|
|
||||||
|
a[0] = dat/10000;
|
||||||
|
a[1] = dat/1000%10;
|
||||||
|
a[2] = dat/100%10;
|
||||||
|
a[3] = dat/10%10;
|
||||||
|
a[4] = dat%10;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while(i<5)
|
||||||
|
{
|
||||||
|
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ32λ<32>з<EFBFBD><D0B7><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint32
|
||||||
|
// @param num <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB> <20><><EFBFBD><EFBFBD>10λ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showint32(0,0,x,3);//x<><78><EFBFBD><EFBFBD>Ϊint32 uint16 int16 uint8 int8<74><38><EFBFBD><EFBFBD>
|
||||||
|
// Sample usage: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num)
|
||||||
|
{
|
||||||
|
int8 buff[34];
|
||||||
|
uint32 length;
|
||||||
|
|
||||||
|
if(10<num) num = 10;
|
||||||
|
|
||||||
|
|
||||||
|
num++;
|
||||||
|
if(0>dat) length = zf_sprintf(&buff[0],"%d",dat);//<2F><><EFBFBD><EFBFBD>
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buff[0] = ' ';
|
||||||
|
length = zf_sprintf(&buff[1],"%d",dat);
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
while(length < num)
|
||||||
|
{
|
||||||
|
buff[length] = ' ';
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
buff[num] = '\0';
|
||||||
|
|
||||||
|
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<61><74>double
|
||||||
|
// @param num <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>10λ
|
||||||
|
// @param pointnum С<><D0A1>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>6λ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips_showfloat(0,0,x,2,3);//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2λ С<><D0A1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ
|
||||||
|
// @note <20>ر<EFBFBD>ע<EFBFBD><EFBFBD><E2B5B1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>µģ<C2B5><C4A3>Ⲣ<EFBFBD><E2B2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬
|
||||||
|
// <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD>аٶ<D0B0>ѧϰ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>⡣
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum)
|
||||||
|
{
|
||||||
|
uint32 length;
|
||||||
|
int8 buff[34];
|
||||||
|
int8 start,end,point;
|
||||||
|
|
||||||
|
if(6<pointnum) pointnum = 6;
|
||||||
|
if(10<num) num = 10;
|
||||||
|
|
||||||
|
if(0>dat) length = zf_sprintf( &buff[0],"%f",dat);//<2F><><EFBFBD><EFBFBD>
|
||||||
|
else
|
||||||
|
{
|
||||||
|
length = zf_sprintf( &buff[1],"%f",dat);
|
||||||
|
length++;
|
||||||
|
}
|
||||||
|
point = (int8)(length - 7); //<2F><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||||
|
start = point - num - 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ
|
||||||
|
end = point + pointnum + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
||||||
|
while(0>start)//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ĩβӦ<CEB2><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>
|
||||||
|
{
|
||||||
|
buff[end] = ' ';
|
||||||
|
end++;
|
||||||
|
start++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(0>dat) buff[start] = '-';
|
||||||
|
else buff[start] = ' ';
|
||||||
|
|
||||||
|
buff[end] = '\0';
|
||||||
|
|
||||||
|
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
||||||
|
// @param w ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param l ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_showimage(0,0,10,20,&image);//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0,0)<29><><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>20<32><30>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
unsigned char picH,picL;
|
||||||
|
ips200_address_set(x,y,x+w-1,y+l-1);
|
||||||
|
for(i=0;i<w*l;i++)
|
||||||
|
{
|
||||||
|
picL=*(p+i*2);
|
||||||
|
picH=*(p+i*2+1);
|
||||||
|
ips200_wr_data16(picH<<8|picL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
uint16 coord_x = 0;
|
||||||
|
uint16 coord_y = 0;
|
||||||
|
|
||||||
|
coord_x = width>IPS200_X_MAX?IPS200_X_MAX:width;
|
||||||
|
coord_y = height>IPS200_Y_MAX?IPS200_Y_MAX:height;
|
||||||
|
ips200_address_set(0,0,coord_x-1,coord_y-1);
|
||||||
|
|
||||||
|
for(j=0;j<coord_y;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<coord_x;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+j*width+i*width/coord_x);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>IPS200_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032_zoom(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage032_zoom1(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, 0, 0, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
||||||
|
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
||||||
|
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
||||||
|
|
||||||
|
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240);//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
||||||
|
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ɫͼ<C9AB><CDBC>
|
||||||
|
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
uint16 color = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color = ((color&0xff)<<8) | (color>>8);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_zoom1(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 0, 0, 320, 240);
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
|
||||||
|
uint16 color = 0;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
||||||
|
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
||||||
|
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
||||||
|
|
||||||
|
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
color = ((color&0xff)<<8) | (color>>8);
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>Ҷ<EFBFBD>)
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
||||||
|
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_displayimage8660_grayscale_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240)//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷͼ<CDB7><CDBC> <20><>ʾY<CABE><59><EFBFBD><EFBFBD>
|
||||||
|
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ2ʱ<32><CAB1><EFBFBD><EFBFBD>ȡY<C8A1><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ҷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
||||||
|
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
||||||
|
{
|
||||||
|
uint32 i,j;
|
||||||
|
uint16 color = 0;
|
||||||
|
uint16 temp = 0;
|
||||||
|
|
||||||
|
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
for(j=0;j<dis_height;j++)
|
||||||
|
{
|
||||||
|
for(i=0;i<dis_width;i++)
|
||||||
|
{
|
||||||
|
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
||||||
|
temp = temp&0xff;
|
||||||
|
color=(0x001f&((temp)>>3))<<11;
|
||||||
|
color=color|(((0x003f)&((temp)>>2))<<5);
|
||||||
|
color=color|(0x001f&((temp)>>3));
|
||||||
|
ips200_wr_data16(color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief С<><D0A1><EFBFBD><EFBFBD>(<28><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||||
|
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// @note ͼ<><CDBC><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120(<28><>)*160(<28><>)<29><><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
||||||
|
{
|
||||||
|
int i,j;
|
||||||
|
|
||||||
|
uint16 temp = 0;
|
||||||
|
ips200_address_set(0,0,width-1,height-1);
|
||||||
|
for(i=0;i<height * (width/8);i++)
|
||||||
|
{
|
||||||
|
temp = *p;
|
||||||
|
p++;
|
||||||
|
for(j=0; j<8; j++)
|
||||||
|
{
|
||||||
|
if( (temp<<j)&0x80 ) ips200_wr_data16(RGB565_WHITE);
|
||||||
|
else ips200_wr_data16(RGB565_BLACK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||||
|
// @param x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_X_MAX-1<><31>
|
||||||
|
// @param y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_Y_MAX-1<><31>
|
||||||
|
// @param size ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õĵ<C3B5><C4B5><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ٸ<EFBFBD><D9B8>㣬ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ġ<EFBFBD>
|
||||||
|
// @param *p <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// @param number <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>λ
|
||||||
|
// @param color <20><>ʾ<EFBFBD><CABE>ɫ
|
||||||
|
// @return void
|
||||||
|
// @since v1.0
|
||||||
|
// Sample usage: ips200_display_chinese(0,0,16,chinese_test[0],4,RED);//<2F><>ʾfont<6E>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʾ<><CABE>
|
||||||
|
// @Note ʹ<><CAB9>PCtoLCD2002<30><32><EFBFBD><EFBFBD>ȡģ <20><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>˳<EFBFBD><CBB3> 16*16
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color)
|
||||||
|
{
|
||||||
|
int i, j, k;
|
||||||
|
uint8 temp, temp1, temp2;
|
||||||
|
const uint8 *p_data;
|
||||||
|
|
||||||
|
temp2 = size/8;
|
||||||
|
|
||||||
|
ips200_address_set(x,y,number*size-1+x,y+size-1);
|
||||||
|
|
||||||
|
for(i=0;i<size;i++)
|
||||||
|
{
|
||||||
|
temp1 = number;
|
||||||
|
p_data = p+i*temp2;
|
||||||
|
while(temp1--)
|
||||||
|
{
|
||||||
|
for(k=0;k<temp2;k++)
|
||||||
|
{
|
||||||
|
for(j=8;j>0;j--)
|
||||||
|
{
|
||||||
|
temp = (*p_data>>(j-1)) & 0x01;
|
||||||
|
if(temp) ips200_wr_data16(color);
|
||||||
|
else ips200_wr_data16(IPS200_BGCOLOR);
|
||||||
|
}
|
||||||
|
p_data++;
|
||||||
|
}
|
||||||
|
p_data = p_data - temp2 + temp2*size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
|
||||||
|
/*/*********************************************************************************************************************
|
||||||
|
* COPYRIGHT NOTICE
|
||||||
|
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
||||||
|
* All rights reserved.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
||||||
|
*
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
||||||
|
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
*
|
||||||
|
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
||||||
|
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
|
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
||||||
|
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
|
* @Software ADS v1.5.2
|
||||||
|
* @Target core TC264
|
||||||
|
* @Taobao https://seekfree.taobao.com/
|
||||||
|
* @date 2020-05-07
|
||||||
|
* @note
|
||||||
|
<20><><EFBFBD>߶<EFBFBD><DFB6>壺
|
||||||
|
------------------------------------
|
||||||
|
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
||||||
|
* // ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* RD <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RD_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* WR <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_WR_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* D0-D7 <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_Dx_PIN_PARALLEL8 <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* SCL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SCL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* SDA <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_SDA_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* RST <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_RST_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* DC <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_DC_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* CS <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_CS_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* BL <20>鿴 SEEKFREE_IPS200.h <20><> IPS200_BL_PIN_SPI <20>궨<EFBFBD><EAB6A8>
|
||||||
|
* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
||||||
|
* VCC 3.3V<EFBFBD><EFBFBD>Դ
|
||||||
|
* GND <20><>Դ<EFBFBD><D4B4>
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
|
||||||
|
* ------------------------------------
|
||||||
|
|
||||||
|
********************************************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _SEEKFREE_IPS200_H
|
||||||
|
#define _SEEKFREE_IPS200_H
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
#include "stdlib.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "zf_stm_systick.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
#include "zf_assert.h"
|
||||||
|
#include "SEEKFREE_PRINTF.h"
|
||||||
|
#include "zf_spi.h"
|
||||||
|
#include "SEEKFREE_FUN.h"
|
||||||
|
#include "SEEKFREE_FONT.h"
|
||||||
|
|
||||||
|
|
||||||
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
||||||
|
//#define RED 0xF800 //<2F><>ɫ
|
||||||
|
//#define BLUE 0x001F //<2F><>ɫ
|
||||||
|
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
|
//#define GREEN 0x07E0 //<2F><>ɫ
|
||||||
|
//#define WHITE 0xFFFF //<2F><>ɫ
|
||||||
|
//#define BLACK 0x0000 //<2F><>ɫ
|
||||||
|
//#define GRAY 0X8430 //<2F><>ɫ
|
||||||
|
//#define BROWN 0XBC40 //<2F><>ɫ
|
||||||
|
//#define PURPLE 0XF81F //<2F><>ɫ
|
||||||
|
//#define PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BGCOLOR RGB565_WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
#define IPS200_PENCOLOR RGB565_RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SPIN SPI_2 //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
||||||
|
#define IPS200_SCL_PIN_SPI SPI2_SCLK_P15_3 //<2F><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_PIN_SPI SPI2_MOSI_P15_5 //<2F><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_SDA_IN_PIN_SPI SPI2_MISO_P15_4 //<2F><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
||||||
|
#define IPS200_CS_PIN_SPI SPI2_CS0_P15_2 //<2F><><EFBFBD><EFBFBD>SPI_CS<43><53><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_RST_PIN_SPI P15_1 // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
||||||
|
#define IPS200_DC_PIN_SPI P15_0
|
||||||
|
#define IPS200_BL_PIN_SPI P15_4
|
||||||
|
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
||||||
|
#define IPS200_RD_PIN_PARALLEL8 P15_3
|
||||||
|
#define IPS200_WR_PIN_PARALLEL8 P15_5
|
||||||
|
#define IPS200_RS_PIN_PARALLEL8 P15_1
|
||||||
|
#define IPS200_RST_PIN_PARALLEL8 P15_0
|
||||||
|
#define IPS200_CS_PIN_PARALLEL8 P15_2
|
||||||
|
#define IPS200_BL_PIN_PARALLEL8 P15_4
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õõ<C3B5>
|
||||||
|
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
||||||
|
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
||||||
|
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
||||||
|
#define IPS200_D0_PIN_PARALLEL8 P11_9
|
||||||
|
#define IPS200_D1_PIN_PARALLEL8 P11_10
|
||||||
|
#define IPS200_D2_PIN_PARALLEL8 P11_11
|
||||||
|
#define IPS200_D3_PIN_PARALLEL8 P11_12
|
||||||
|
#define IPS200_D4_PIN_PARALLEL8 P13_0
|
||||||
|
#define IPS200_D5_PIN_PARALLEL8 P13_1
|
||||||
|
#define IPS200_D6_PIN_PARALLEL8 P13_2
|
||||||
|
#define IPS200_D7_PIN_PARALLEL8 P13_3
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
||||||
|
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM1 (IPS200_D0_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
||||||
|
|
||||||
|
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||||
|
#define DATA_START_NUM2 (IPS200_D4_PIN_PARALLEL8&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN_PARALLEL8,x)
|
||||||
|
#define IPS200_RST(x) gpio_set(ips_rst_pin,x)
|
||||||
|
|
||||||
|
#define IPS200_DC(x) gpio_set(IPS200_DC_PIN_SPI,x)
|
||||||
|
|
||||||
|
#define IPS200_W 240
|
||||||
|
#define IPS200_H 320
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
IPS200_TYPE_SPI, // SPI <20><><EFBFBD><EFBFBD>
|
||||||
|
IPS200_TYPE_PARALLEL8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
}ips200_type_enum;
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
|
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
||||||
|
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
||||||
|
#define IPS200_DISPLAY_DIR 0
|
||||||
|
|
||||||
|
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
||||||
|
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_init(ips200_type_enum type_select); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
||||||
|
void ips200_w_data(uint8 dat);
|
||||||
|
void ips200_wr_reg(uint8 com);
|
||||||
|
void ips200_wr_data(uint8 dat);
|
||||||
|
void ips200_wr_data16(uint16 dat);
|
||||||
|
void ips200_w_reg(uint8 com,uint8 dat);
|
||||||
|
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
||||||
|
void ips200_clear(uint16 color);
|
||||||
|
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
||||||
|
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
||||||
|
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
||||||
|
|
||||||
|
|
||||||
|
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
||||||
|
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
||||||
|
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
||||||
|
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
||||||
|
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
||||||
|
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
||||||
|
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
||||||
|
|
||||||
|
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
||||||
|
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
||||||
|
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -1,896 +0,0 @@
|
|||||||
/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#include "stdlib.h"
|
|
||||||
#include "string.h"
|
|
||||||
#include "stdio.h"
|
|
||||||
#include "zf_stm_systick.h"
|
|
||||||
#include "zf_gpio.h"
|
|
||||||
#include "zf_assert.h"
|
|
||||||
#include "SEEKFREE_PRINTF.h"
|
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_w_data(uint8 dat) //д<><D0B4><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_DATAPORT1 = (dat << DATA_START_NUM1) | (IPS200_DATAPORT1 & ~((uint32)(0x0F << DATA_START_NUM1)) );
|
|
||||||
IPS200_DATAPORT2 = ((dat>>4) << DATA_START_NUM2) | (IPS200_DATAPORT2 & ~((uint32)(0x0F << DATA_START_NUM2)) );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_reg(uint8 command) //д<><D0B4><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(0);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data(command);
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_data(uint8 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>8λ<38><CEBB><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(1);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data(dat);
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_wr_data16(uint16 dat) //<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>16λ<36><CEBB><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
IPS200_CS(0);
|
|
||||||
IPS200_RS(1);
|
|
||||||
IPS200_RD(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data((uint8)(dat>>8));
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_WR(0);
|
|
||||||
ips200_w_data((uint8)(dat));
|
|
||||||
IPS200_WR(1);
|
|
||||||
IPS200_CS(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat) //д<>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
{
|
|
||||||
ips200_wr_reg(com);
|
|
||||||
ips200_wr_data(dat);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param void
|
|
||||||
// @return
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2)
|
|
||||||
{
|
|
||||||
ips200_wr_reg(0x2a);
|
|
||||||
ips200_wr_data16(x1);
|
|
||||||
ips200_wr_data16(x2);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x2b);
|
|
||||||
ips200_wr_data16(y1);
|
|
||||||
ips200_wr_data16(y2);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x2c);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief 2.0<EFBFBD><EFBFBD> IPSҺ<53><D2BA><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage:
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_init(void)
|
|
||||||
{
|
|
||||||
gpio_init(IPS200_D0_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D1_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D2_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D3_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D4_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D5_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D6_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_D7_PIN, GPO, 0, PUSHPULL);
|
|
||||||
|
|
||||||
gpio_init(IPS200_BL_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_CS_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RST_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RS_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_WR_PIN, GPO, 0, PUSHPULL);
|
|
||||||
gpio_init(IPS200_RD_PIN, GPO, 0, PUSHPULL);
|
|
||||||
|
|
||||||
IPS200_BL(1);
|
|
||||||
IPS200_RST(0);
|
|
||||||
systick_delay_ms(STM0, 5);
|
|
||||||
IPS200_RST(1);
|
|
||||||
systick_delay_ms(STM0, 5);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x11);
|
|
||||||
systick_delay_ms(STM0, 120);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x36);
|
|
||||||
if (IPS200_DISPLAY_DIR==0) ips200_wr_data(0x00);
|
|
||||||
else if (IPS200_DISPLAY_DIR==1) ips200_wr_data(0xC0);
|
|
||||||
else if (IPS200_DISPLAY_DIR==2) ips200_wr_data(0x70);
|
|
||||||
else ips200_wr_data(0xA0);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ips200_wr_reg(0x3A);
|
|
||||||
ips200_wr_data(0x05);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xB2);
|
|
||||||
ips200_wr_data(0x0C);
|
|
||||||
ips200_wr_data(0x0C);
|
|
||||||
ips200_wr_data(0x00);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xB7);
|
|
||||||
ips200_wr_data(0x35);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xBB);
|
|
||||||
ips200_wr_data(0x29); //32 Vcom=1.35V
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC2);
|
|
||||||
ips200_wr_data(0x01);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC3);
|
|
||||||
ips200_wr_data(0x19); //GVDD=4.8V
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC4);
|
|
||||||
ips200_wr_data(0x20); //VDV, 0x20:0v
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC5);
|
|
||||||
ips200_wr_data(0x1A);//VCOM Offset Set
|
|
||||||
|
|
||||||
ips200_wr_reg(0xC6);
|
|
||||||
ips200_wr_data(0x01F); //0x0F:60Hz
|
|
||||||
|
|
||||||
ips200_wr_reg(0xD0);
|
|
||||||
ips200_wr_data(0xA4);
|
|
||||||
ips200_wr_data(0xA1);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xE0);
|
|
||||||
ips200_wr_data(0xD0);
|
|
||||||
ips200_wr_data(0x08);
|
|
||||||
ips200_wr_data(0x0E);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x05);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x48);
|
|
||||||
ips200_wr_data(0x17);
|
|
||||||
ips200_wr_data(0x14);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x34);
|
|
||||||
|
|
||||||
ips200_wr_reg(0xE1);
|
|
||||||
ips200_wr_data(0xD0);
|
|
||||||
ips200_wr_data(0x08);
|
|
||||||
ips200_wr_data(0x0E);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x09);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x33);
|
|
||||||
ips200_wr_data(0x48);
|
|
||||||
ips200_wr_data(0x17);
|
|
||||||
ips200_wr_data(0x14);
|
|
||||||
ips200_wr_data(0x15);
|
|
||||||
ips200_wr_data(0x31);
|
|
||||||
ips200_wr_data(0x34);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x21);
|
|
||||||
|
|
||||||
ips200_wr_reg(0x29);
|
|
||||||
ips200_clear(IPS200_BGCOLOR); //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param color <09><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_clear(YELLOW);// ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_clear(uint16 color)
|
|
||||||
{
|
|
||||||
uint16 i,j;
|
|
||||||
ips200_address_set(0,0,IPS200_X_MAX-1,IPS200_Y_MAX-1);
|
|
||||||
for(i=0;i<IPS200_X_MAX;i++)
|
|
||||||
{
|
|
||||||
for (j=0;j<IPS200_Y_MAX;j++)
|
|
||||||
{
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ɫ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_drawpoint(0,0,RED); //<2F><><EFBFBD><EFBFBD>0,0<><30>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫ<EFBFBD>ĵ<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color)
|
|
||||||
{
|
|
||||||
ips200_address_set(x,y,x,y);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showchar(0,0,'x');//<2F><><EFBFBD><EFBFBD>0,0дһ<D0B4><D2BB><EFBFBD>ַ<EFBFBD>x
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat)
|
|
||||||
{
|
|
||||||
uint8 i,j;
|
|
||||||
uint8 temp;
|
|
||||||
|
|
||||||
for(i=0; i<16; i++)
|
|
||||||
{
|
|
||||||
ips200_address_set(x,y+i,x+7,y+i);
|
|
||||||
temp = tft_ascii[(uint16)dat-32][i];//<2F><>32<33><32>Ϊ<EFBFBD><CEAA>ȡģ<C8A1>Ǵӿո<D3BF><D5B8><EFBFBD>ʼȡ<CABC><C8A1> <20>ո<EFBFBD><D5B8><EFBFBD>ascii<69><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32
|
|
||||||
for(j=0; j<8; j++)
|
|
||||||
{
|
|
||||||
if(temp&0x01) ips200_wr_data16(IPS200_PENCOLOR);
|
|
||||||
else ips200_wr_data16(IPS200_BGCOLOR);
|
|
||||||
temp>>=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_X_MAX-1)
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 - (IPS200_Y_MAX/16-1)
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showstr(0,0,"seekfree");
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[])
|
|
||||||
{
|
|
||||||
uint16 j;
|
|
||||||
|
|
||||||
j = 0;
|
|
||||||
while(dat[j] != '\0')
|
|
||||||
{
|
|
||||||
ips200_showchar(x+8*j,y*16,dat[j]);
|
|
||||||
j++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38>з<EFBFBD><D0B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int8
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint8(0,0,x);//xΪint8<74><38><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat)
|
|
||||||
{
|
|
||||||
uint8 a[3];
|
|
||||||
uint8 i;
|
|
||||||
if(dat<0)
|
|
||||||
{
|
|
||||||
ips200_showchar(x,y*16,'-');
|
|
||||||
dat = -dat;
|
|
||||||
}
|
|
||||||
else ips200_showchar(x,y*16,' ');
|
|
||||||
|
|
||||||
a[0] = dat/100;
|
|
||||||
a[1] = dat/10%10;
|
|
||||||
a[2] = dat%10;
|
|
||||||
i = 0;
|
|
||||||
while(i<3)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint8
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showuint8(0,0,x);//xΪuint8<74><38><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat)
|
|
||||||
{
|
|
||||||
uint8 a[3];
|
|
||||||
uint8 i;
|
|
||||||
|
|
||||||
a[0] = dat/100;
|
|
||||||
a[1] = dat/10%10;
|
|
||||||
a[2] = dat%10;
|
|
||||||
i = 0;
|
|
||||||
while(i<3)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36>з<EFBFBD><D0B7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int16
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint16(0,0,x);//xΪint16<31><36><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat)
|
|
||||||
{
|
|
||||||
uint8 a[5];
|
|
||||||
uint8 i;
|
|
||||||
if(dat<0)
|
|
||||||
{
|
|
||||||
ips200_showchar(x,y*16,'-');
|
|
||||||
dat = -dat;
|
|
||||||
}
|
|
||||||
else ips200_showchar(x,y*16,' ');
|
|
||||||
|
|
||||||
a[0] = dat/10000;
|
|
||||||
a[1] = dat/1000%10;
|
|
||||||
a[2] = dat/100%10;
|
|
||||||
a[3] = dat/10%10;
|
|
||||||
a[4] = dat%10;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while(i<5)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*(i+1)),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ16λ<36><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint16
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showuint16(0,0,x);//xΪuint16<31><36><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat)
|
|
||||||
{
|
|
||||||
uint8 a[5];
|
|
||||||
uint8 i;
|
|
||||||
|
|
||||||
a[0] = dat/10000;
|
|
||||||
a[1] = dat/1000%10;
|
|
||||||
a[2] = dat/100%10;
|
|
||||||
a[3] = dat/10%10;
|
|
||||||
a[4] = dat%10;
|
|
||||||
|
|
||||||
i = 0;
|
|
||||||
while(i<5)
|
|
||||||
{
|
|
||||||
ips200_showchar(x+(8*i),y*16,'0' + a[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ32λ<32>з<EFBFBD><D0B7><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uint32
|
|
||||||
// @param num <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB> <20><><EFBFBD><EFBFBD>10λ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showint32(0,0,x,3);//x<><78><EFBFBD><EFBFBD>Ϊint32 uint16 int16 uint8 int8<74><38><EFBFBD><EFBFBD>
|
|
||||||
// Sample usage: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num)
|
|
||||||
{
|
|
||||||
int8 buff[34];
|
|
||||||
uint32 length;
|
|
||||||
|
|
||||||
if(10<num) num = 10;
|
|
||||||
|
|
||||||
|
|
||||||
num++;
|
|
||||||
if(0>dat) length = zf_sprintf(&buff[0],"%d",dat);//<2F><><EFBFBD><EFBFBD>
|
|
||||||
else
|
|
||||||
{
|
|
||||||
buff[0] = ' ';
|
|
||||||
length = zf_sprintf(&buff[1],"%d",dat);
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
while(length < num)
|
|
||||||
{
|
|
||||||
buff[length] = ' ';
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
buff[num] = '\0';
|
|
||||||
|
|
||||||
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>0)
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param dat <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<61><74>double
|
|
||||||
// @param num <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>10λ
|
|
||||||
// @param pointnum С<><D0A1>λ<EFBFBD><CEBB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>6λ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips_showfloat(0,0,x,2,3);//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2λ С<><D0A1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ
|
|
||||||
// @note <20>ر<EFBFBD>ע<EFBFBD><EFBFBD><E2B5B1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>µģ<C2B5><C4A3>Ⲣ<EFBFBD><E2B2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬
|
|
||||||
// <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD>аٶ<D0B0>ѧϰ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD>⡣
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB> <20><>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD>ո<EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum)
|
|
||||||
{
|
|
||||||
uint32 length;
|
|
||||||
int8 buff[34];
|
|
||||||
int8 start,end,point;
|
|
||||||
|
|
||||||
if(6<pointnum) pointnum = 6;
|
|
||||||
if(10<num) num = 10;
|
|
||||||
|
|
||||||
if(0>dat) length = zf_sprintf( &buff[0],"%f",dat);//<2F><><EFBFBD><EFBFBD>
|
|
||||||
else
|
|
||||||
{
|
|
||||||
length = zf_sprintf( &buff[1],"%f",dat);
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
point = (int8)(length - 7); //<2F><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
||||||
start = point - num - 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼλ
|
|
||||||
end = point + pointnum + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
|
||||||
while(0>start)//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ĩβӦ<CEB2><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD>
|
|
||||||
{
|
|
||||||
buff[end] = ' ';
|
|
||||||
end++;
|
|
||||||
start++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(0>dat) buff[start] = '-';
|
|
||||||
else buff[start] = ' ';
|
|
||||||
|
|
||||||
buff[end] = '\0';
|
|
||||||
|
|
||||||
ips200_showstr(x, y, buff); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief Һ<><D2BA><EFBFBD><EFBFBD>ʾ8λ<38><EFBFBD><DEB7><EFBFBD>
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 0 -<2D><>IPS200_Y_MAX/16-1<><31>
|
|
||||||
// @param w ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param l ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_showimage(0,0,10,20,&image);//ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0,0)<29><><EFBFBD><EFBFBD>10<31><30><EFBFBD><EFBFBD>20<32><30>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
unsigned char picH,picL;
|
|
||||||
ips200_address_set(x,y,x+w-1,y+l-1);
|
|
||||||
for(i=0;i<w*l;i++)
|
|
||||||
{
|
|
||||||
picL=*(p+i*2);
|
|
||||||
picH=*(p+i*2+1);
|
|
||||||
ips200_wr_data16(picH<<8|picL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
uint16 coord_x = 0;
|
|
||||||
uint16 coord_y = 0;
|
|
||||||
|
|
||||||
coord_x = width>IPS200_X_MAX?IPS200_X_MAX:width;
|
|
||||||
coord_y = height>IPS200_Y_MAX?IPS200_Y_MAX:height;
|
|
||||||
ips200_address_set(0,0,coord_x-1,coord_y-1);
|
|
||||||
|
|
||||||
for(j=0;j<coord_y;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<coord_x;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+j*width+i*width/coord_x);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>IPS200_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032_zoom(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage032_zoom1(mt9v03x_csi_image[0], MT9V03X_CSI_W, MT9V03X_CSI_H, 0, 0, MT9V03X_CSI_W, MT9V03X_CSI_H)//<2F><>ʾ<EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
|
||||||
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
|
||||||
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
|
||||||
|
|
||||||
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240);//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ ͼ<><CDBC>
|
|
||||||
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ɫͼ<C9AB><CDBC>
|
|
||||||
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
uint16 color = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color = ((color&0xff)<<8) | (color>>8);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param start_x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param start_y <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 1 -<2D><>TFT_X_MAX<41><58>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 1 -<2D><>TFT_Y_MAX<41><58>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_zoom1(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 0, 0, 320, 240);
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
|
|
||||||
uint16 color = 0;
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>Ƿ<C7B7><F1B3ACB9><EFBFBD>Ļ<EFBFBD>ķֱ<C4B7><D6B1><EFBFBD>
|
|
||||||
if((start_x+dis_width)>IPS200_X_MAX) ZF_ASSERT(0);
|
|
||||||
if((start_y+dis_height)>IPS200_Y_MAX) ZF_ASSERT(0);
|
|
||||||
|
|
||||||
ips200_address_set(start_x,start_y,start_x+dis_width-1,start_y+dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
color = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
color = ((color&0xff)<<8) | (color>>8);
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><>ͫ(<28><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>Ҷ<EFBFBD>)
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @param dis_width ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> 0 -<2D><>TFT_X_MAX-1<><31>
|
|
||||||
// @param dis_height ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD> 0 -<2D><>TFT_Y_MAX-1<><31>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_displayimage8660_grayscale_zoom(scc8660_csi_image[0], SCC8660_CSI_PIC_W, SCC8660_CSI_PIC_H, 320, 240)//<2F><>ʾ<EFBFBD><CABE>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ͷͼ<CDB7><CDBC> <20><>ʾY<CABE><59><EFBFBD><EFBFBD>
|
|
||||||
// @note <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݸ<EFBFBD>ʽ(SCC8660_DATA_FORMAT)<29><><EFBFBD><EFBFBD>Ϊ2ʱ<32><CAB1><EFBFBD><EFBFBD>ȡY<C8A1><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ҷ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
||||||
// ͼ<><CDBC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD>Ŀ<EFBFBD><C4BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾȫ<CABE><C8AB>Ұ
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height)
|
|
||||||
{
|
|
||||||
uint32 i,j;
|
|
||||||
uint16 color = 0;
|
|
||||||
uint16 temp = 0;
|
|
||||||
|
|
||||||
ips200_address_set(0,0,dis_width-1,dis_height-1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
for(j=0;j<dis_height;j++)
|
|
||||||
{
|
|
||||||
for(i=0;i<dis_width;i++)
|
|
||||||
{
|
|
||||||
temp = *(p+(j*height/dis_height)*width+i*width/dis_width);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>
|
|
||||||
temp = temp&0xff;
|
|
||||||
color=(0x001f&((temp)>>3))<<11;
|
|
||||||
color=color|(((0x003f)&((temp)>>2))<<5);
|
|
||||||
color=color|(0x001f&((temp)>>3));
|
|
||||||
ips200_wr_data16(color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief С<><D0A1><EFBFBD><EFBFBD>(<28><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ)Һ<><D2BA><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
// @param *p ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
||||||
// @param width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param height ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// @note ͼ<><CDBC><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120(<28><>)*160(<28><>)<29><><EFBFBD><EFBFBD>
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|
||||||
{
|
|
||||||
int i,j;
|
|
||||||
|
|
||||||
uint16 temp = 0;
|
|
||||||
ips200_address_set(0,0,width-1,height-1);
|
|
||||||
for(i=0;i<height * (width/8);i++)
|
|
||||||
{
|
|
||||||
temp = *p;
|
|
||||||
p++;
|
|
||||||
for(j=0; j<8; j++)
|
|
||||||
{
|
|
||||||
if( (temp<<j)&0x80 ) ips200_wr_data16(WHITE);
|
|
||||||
else ips200_wr_data16(BLACK);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
||||||
// @param x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_X_MAX-1<><31>
|
|
||||||
// @param y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><>IPS200_Y_MAX-1<><31>
|
|
||||||
// @param size ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õĵ<C3B5><C4B5><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ٸ<EFBFBD><D9B8>㣬ȡģ<C8A1><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ġ<EFBFBD>
|
|
||||||
// @param *p <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// @param number <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>λ
|
|
||||||
// @param color <20><>ʾ<EFBFBD><CABE>ɫ
|
|
||||||
// @return void
|
|
||||||
// @since v1.0
|
|
||||||
// Sample usage: ips200_display_chinese(0,0,16,chinese_test[0],4,RED);//<2F><>ʾfont<6E>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʾ<><CABE>
|
|
||||||
// @Note ʹ<><CAB9>PCtoLCD2002<30><32><EFBFBD><EFBFBD>ȡģ <20><><EFBFBD>롢<EFBFBD><EBA1A2><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>˳<EFBFBD><CBB3> 16*16
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color)
|
|
||||||
{
|
|
||||||
int i, j, k;
|
|
||||||
uint8 temp, temp1, temp2;
|
|
||||||
const uint8 *p_data;
|
|
||||||
|
|
||||||
temp2 = size/8;
|
|
||||||
|
|
||||||
ips200_address_set(x,y,number*size-1+x,y+size-1);
|
|
||||||
|
|
||||||
for(i=0;i<size;i++)
|
|
||||||
{
|
|
||||||
temp1 = number;
|
|
||||||
p_data = p+i*temp2;
|
|
||||||
while(temp1--)
|
|
||||||
{
|
|
||||||
for(k=0;k<temp2;k++)
|
|
||||||
{
|
|
||||||
for(j=8;j>0;j--)
|
|
||||||
{
|
|
||||||
temp = (*p_data>>(j-1)) & 0x01;
|
|
||||||
if(temp) ips200_wr_data16(color);
|
|
||||||
else ips200_wr_data16(IPS200_BGCOLOR);
|
|
||||||
}
|
|
||||||
p_data++;
|
|
||||||
}
|
|
||||||
p_data = p_data - temp2 + temp2*size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
/*/*********************************************************************************************************************
|
|
||||||
* COPYRIGHT NOTICE
|
|
||||||
* Copyright (c) 2020,<2C><><EFBFBD>ɿƼ<C9BF>
|
|
||||||
* All rights reserved.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QQȺ<51><C8BA><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>824575535
|
|
||||||
*
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>У<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>;<EFBFBD><CDBE>
|
|
||||||
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>뱣<EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
*
|
|
||||||
* @file 2.0<EFBFBD><EFBFBD>IPS<EFBFBD><EFBFBD>Ļ
|
|
||||||
* @company <09>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
|
||||||
* @author <09><><EFBFBD>ɿƼ<C9BF>(QQ3184284598)
|
|
||||||
* @version <09>鿴doc<6F><63>version<6F>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
|
||||||
* @Software ADS v1.2.2
|
|
||||||
* @Target core TC264D
|
|
||||||
* @Taobao https://seekfree.taobao.com/
|
|
||||||
* @date 2020-3-23
|
|
||||||
* @note
|
|
||||||
<09><><EFBFBD>߶<EFBFBD><DFB6>壺
|
|
||||||
------------------------------------
|
|
||||||
ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <09><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
|
|
||||||
D0 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D0_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D1 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D1_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D2 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D2_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D3 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D3_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D4 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D4_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D5 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D5_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D6 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D6_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
D7 <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_D7_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
BL <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_BL_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
CS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_CS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RD <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RD_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
WR <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_WR_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RS <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RS_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
RST <09>鿴SEEKFREE_IPS200_PARALLEL8.H<>ļ<EFBFBD><C4BC>ڵ<EFBFBD>IPS200_RST_PIN <20>궨<EFBFBD><EAB6A8>
|
|
||||||
|
|
||||||
<09><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|
||||||
VCC 3.3V<EFBFBD><EFBFBD>Դ
|
|
||||||
GND <20><>Դ<EFBFBD><D4B4>
|
|
||||||
<09><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>240*320
|
|
||||||
------------------------------------
|
|
||||||
|
|
||||||
********************************************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
#define _SEEKFREE_IPS200PARALLEL8_H
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "SEEKFREE_FONT.h"
|
|
||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>SEEKFREE_FONT.h<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD>----------
|
|
||||||
//#define RED 0xF800 //<2F><>ɫ
|
|
||||||
//#define BLUE 0x001F //<2F><>ɫ
|
|
||||||
//#define YELLOW 0xFFE0 //<2F><>ɫ
|
|
||||||
//#define GREEN 0x07E0 //<2F><>ɫ
|
|
||||||
//#define WHITE 0xFFFF //<2F><>ɫ
|
|
||||||
//#define BLACK 0x0000 //<2F><>ɫ
|
|
||||||
//#define GRAY 0X8430 //<2F><>ɫ
|
|
||||||
//#define BROWN 0XBC40 //<2F><>ɫ
|
|
||||||
//#define PURPLE 0XF81F //<2F><>ɫ
|
|
||||||
//#define PINK 0XFE19 //<2F><>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BGCOLOR WHITE //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
#define IPS200_PENCOLOR RED //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>B C D<><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ٶ<EFBFBD>
|
|
||||||
#define IPS200_RD_PIN P15_3
|
|
||||||
#define IPS200_WR_PIN P15_5
|
|
||||||
#define IPS200_RS_PIN P15_1
|
|
||||||
#define IPS200_RST_PIN P15_0
|
|
||||||
#define IPS200_CS_PIN P15_2
|
|
||||||
#define IPS200_BL_PIN P15_4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//D0-D3<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>C0-C3,C1-C4<43>ȵȣ<C8B5>
|
|
||||||
//D4-D7<44>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>B0-B3,B1-B4<42>ȵȡ<C8B5>
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ͬ<EFBFBD>˿ڵ<CBBF><DAB5><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>D0-D3<44><33>C1-C4<43><34><EFBFBD>ӣ<EFBFBD>D4-D7<44><37>B2-B5<42><35><EFBFBD>ӡ<EFBFBD>
|
|
||||||
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>IPS200_DATA_PORT1<54><31>IPS200_DATA_PORT2<54>궨<EFBFBD><EAB6A8>
|
|
||||||
#define IPS200_D0_PIN P11_9
|
|
||||||
#define IPS200_D1_PIN P11_10
|
|
||||||
#define IPS200_D2_PIN P11_11
|
|
||||||
#define IPS200_D3_PIN P11_12
|
|
||||||
#define IPS200_D4_PIN P13_0
|
|
||||||
#define IPS200_D5_PIN P13_1
|
|
||||||
#define IPS200_D6_PIN P13_2
|
|
||||||
#define IPS200_D7_PIN P13_3
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ˿<DDB6><CBBF><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PORT<52><54><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
||||||
#define IPS200_DATA_PORT1 3 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT1 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT1].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM1 (IPS200_D0_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_DATA_PORT2 4 //0<><30>P00<30>˿<EFBFBD> 1<><31>P02<30>˿<EFBFBD> 2<><32>P10<31>˿<EFBFBD> 3<><33>P11<31>˿<EFBFBD> 4<><34>P13<31>˿<EFBFBD> 5<><35>P14<31>˿<EFBFBD> 6<><36>P15<31>˿<EFBFBD> 7<><37>P20<32>˿<EFBFBD> 8<><38>P21<32>˿<EFBFBD> 9<><39>P22<32>˿<EFBFBD> 10<31><30>P23<32>˿<EFBFBD> 11<31><31>P32<33>˿<EFBFBD> 12<31><32>P33<33>˿<EFBFBD>
|
|
||||||
|
|
||||||
#define IPS200_DATAPORT2 (((Ifx_P *)IfxPort_cfg_indexMap[IPS200_DATA_PORT2].module)->OUT.U) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
||||||
#define DATA_START_NUM2 (IPS200_D4_PIN&0x1f) //<2F>궨<EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_BL(x) gpio_set(IPS200_BL_PIN,x)
|
|
||||||
#define IPS200_CS(x) gpio_set(IPS200_CS_PIN,x)
|
|
||||||
#define IPS200_RD(x) gpio_set(IPS200_RD_PIN,x)
|
|
||||||
#define IPS200_WR(x) gpio_set(IPS200_WR_PIN,x)
|
|
||||||
#define IPS200_RS(x) gpio_set(IPS200_RS_PIN,x)
|
|
||||||
#define IPS200_RST(x) gpio_set(IPS200_RST_PIN,x)
|
|
||||||
|
|
||||||
|
|
||||||
#define IPS200_W 240
|
|
||||||
#define IPS200_H 320
|
|
||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
||||||
//0 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//1 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
//2 <20><><EFBFBD><EFBFBD>ģʽ
|
|
||||||
//3 <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180<38><30>
|
|
||||||
#define IPS200_DISPLAY_DIR 0
|
|
||||||
|
|
||||||
#if (0==IPS200_DISPLAY_DIR || 1==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_W //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_H //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#elif (2==IPS200_DISPLAY_DIR || 3==IPS200_DISPLAY_DIR)
|
|
||||||
#define IPS200_X_MAX IPS200_H //Һ<><D2BA>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
#define IPS200_Y_MAX IPS200_W //Һ<><D2BA>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error "IPS200_DISPLAY_DIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_init(void); //<2F><>ʼ<EFBFBD><CABC>Ӳ<EFBFBD><D3B2>
|
|
||||||
void ips200_w_data(uint8 dat);
|
|
||||||
void ips200_wr_reg(uint8 com);
|
|
||||||
void ips200_wr_data(uint8 dat);
|
|
||||||
void ips200_wr_data16(uint16 dat);
|
|
||||||
void ips200_w_reg(uint8 com,uint8 dat);
|
|
||||||
void ips200_address_set(uint16 x1,uint16 y1,uint16 x2,uint16 y2);
|
|
||||||
void ips200_clear(uint16 color);
|
|
||||||
void ips200_drawpoint(uint16 x,uint16 y,uint16 color);
|
|
||||||
void ips200_showchar(uint16 x,uint16 y,const int8 dat);
|
|
||||||
void ips200_showstr(uint16 x,uint16 y,const int8 dat[]);
|
|
||||||
|
|
||||||
|
|
||||||
void ips200_showint8(uint16 x,uint16 y,int8 dat);
|
|
||||||
void ips200_showuint8(uint16 x,uint16 y,uint8 dat);
|
|
||||||
void ips200_showint16(uint16 x,uint16 y,int16 dat);
|
|
||||||
void ips200_showuint16(uint16 x,uint16 y,uint16 dat);
|
|
||||||
void ips200_showint32(uint16 x,uint16 y,int dat,uint8 num);
|
|
||||||
void ips200_showfloat(uint16 x,uint16 y,double dat,int8 num,int8 pointnum);
|
|
||||||
void ips200_showimage(uint16 x,uint16 y,uint16 w,uint16 l,const unsigned char *p);
|
|
||||||
|
|
||||||
void ips200_displayimage032(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_displayimage032_zoom(uint8 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage032_zoom1(uint8 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_zoom1(uint16 *p, uint16 width, uint16 height, uint16 start_x, uint16 start_y, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage8660_grayscale_zoom(uint16 *p, uint16 width, uint16 height, uint16 dis_width, uint16 dis_height);
|
|
||||||
void ips200_displayimage7725(uint8 *p, uint16 width, uint16 height);
|
|
||||||
void ips200_display_chinese(uint16 x, uint16 y, uint8 size, const uint8 *p, uint8 number, uint16 color);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
V1.2.9
|
||||||
|
ɾ<><C9BE>SEEKFREE_IPS200_PARALLEL8<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SEEKFREE_IPS200<30><30><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>е<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
V1.2.8
|
V1.2.8
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD>PCLK_MODE<44><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
#include "SEEKFREE_MMA8451.h"
|
#include "SEEKFREE_MMA8451.h"
|
||||||
#include "SEEKFREE_L3G4200D.h"
|
#include "SEEKFREE_L3G4200D.h"
|
||||||
#include "SEEKFREE_WIRELESS.h"
|
#include "SEEKFREE_WIRELESS.h"
|
||||||
#include "SEEKFREE_IPS200_PARALLEL8.h"
|
#include "SEEKFREE_IPS200.h"
|
||||||
#include "SEEKFREE_7725.h"
|
#include "SEEKFREE_7725.h"
|
||||||
#include "SEEKFREE_RDA5807.h"
|
#include "SEEKFREE_RDA5807.h"
|
||||||
#include "SEEKFREE_7725_UART.h"
|
#include "SEEKFREE_7725_UART.h"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "IfxQspi.h"
|
#include "IfxQspi.h"
|
||||||
#include "zf_assert.h"
|
#include "zf_assert.h"
|
||||||
#include "zf_spi.h"
|
#include "zf_spi.h"
|
||||||
|
#include "zf_gpio.h"
|
||||||
|
|
||||||
#define MAX_BAUD 50000000
|
#define MAX_BAUD 50000000
|
||||||
|
|
||||||
@@ -183,7 +183,62 @@ void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_P
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint8 get_spi_cs_pin(SPI_PIN_enum cs_pin)
|
||||||
|
{
|
||||||
|
if (SPI0_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI0_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI0_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI0_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI0_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI0_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI0_CS6_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI0_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI0_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI0_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
else if (SPI0_CS13_P15_0 == cs_pin) return gpio_get(P15_0);
|
||||||
|
else if (SPI1_CS0_P20_8 == cs_pin) return gpio_get(P20_8);
|
||||||
|
else if (SPI1_CS1_P20_9 == cs_pin) return gpio_get(P20_9);
|
||||||
|
else if (SPI1_CS2_P20_13 == cs_pin) return gpio_get(P20_13);
|
||||||
|
else if (SPI1_CS3_P11_10 == cs_pin) return gpio_get(P11_10);
|
||||||
|
else if (SPI1_CS4_P11_11 == cs_pin) return gpio_get(P11_11);
|
||||||
|
else if (SPI1_CS5_P11_2 == cs_pin) return gpio_get(P11_2);
|
||||||
|
else if (SPI1_CS6_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI1_CS7_P33_5 == cs_pin) return gpio_get(P33_5);
|
||||||
|
else if (SPI1_CS8_P10_4 == cs_pin) return gpio_get(P10_4);
|
||||||
|
else if (SPI1_CS9_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI1_CS10_P10_0 == cs_pin) return gpio_get(P10_0);
|
||||||
|
else if (SPI2_CS0_P15_2 == cs_pin) return gpio_get(P15_2);
|
||||||
|
else if (SPI2_CS1_P14_2 == cs_pin) return gpio_get(P14_2);
|
||||||
|
else if (SPI2_CS2_P14_6 == cs_pin) return gpio_get(P14_6);
|
||||||
|
else if (SPI2_CS3_P14_3 == cs_pin) return gpio_get(P14_3);
|
||||||
|
else if (SPI2_CS5_P15_1 == cs_pin) return gpio_get(P15_1);
|
||||||
|
else if (SPI2_CS6_P33_13 == cs_pin) return gpio_get(P33_13);
|
||||||
|
else if (SPI2_CS7_P20_10 == cs_pin) return gpio_get(P20_10);
|
||||||
|
else if (SPI2_CS8_P20_6 == cs_pin) return gpio_get(P20_6);
|
||||||
|
else if (SPI2_CS9_P20_3 == cs_pin) return gpio_get(P20_3);
|
||||||
|
|
||||||
|
else if (SPI3_CS0_P02_4 == cs_pin) return gpio_get(P02_4);
|
||||||
|
else if (SPI3_CS1_P02_0 == cs_pin) return gpio_get(P02_0);
|
||||||
|
else if (SPI3_CS1_P33_9 == cs_pin) return gpio_get(P33_9);
|
||||||
|
else if (SPI3_CS2_P02_1 == cs_pin) return gpio_get(P02_1);
|
||||||
|
else if (SPI3_CS2_P33_8 == cs_pin) return gpio_get(P33_8);
|
||||||
|
else if (SPI3_CS3_P02_2 == cs_pin) return gpio_get(P02_2);
|
||||||
|
else if (SPI3_CS4_P02_3 == cs_pin) return gpio_get(P02_3);
|
||||||
|
else if (SPI3_CS4_P23_5 == cs_pin) return gpio_get(P23_5);
|
||||||
|
else if (SPI3_CS5_P02_8 == cs_pin) return gpio_get(P02_8);
|
||||||
|
else if (SPI3_CS6_P00_8 == cs_pin) return gpio_get(P00_8);
|
||||||
|
else if (SPI3_CS7_P00_9 == cs_pin) return gpio_get(P00_9);
|
||||||
|
else if (SPI3_CS7_P33_7 == cs_pin) return gpio_get(P33_7);
|
||||||
|
else if (SPI3_CS8_P10_5 == cs_pin) return gpio_get(P10_5);
|
||||||
|
else if (SPI3_CS11_P33_10 == cs_pin) return gpio_get(P33_10);
|
||||||
|
else if (SPI3_CS12_P22_2 == cs_pin) return gpio_get(P22_2);
|
||||||
|
else if (SPI3_CS13_P23_1 == cs_pin) return gpio_get(P23_1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ZF_ASSERT(FALSE);
|
||||||
|
return 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>CS<43><53><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -335,6 +390,7 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
|
|||||||
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
while(moudle->STATUS.B.RXFIFOLEVEL == 0);
|
||||||
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
*midata = (uint8)IfxQspi_readReceiveFifo(moudle);
|
||||||
}
|
}
|
||||||
|
while(!get_spi_cs_pin(cs_pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void lcd_init(void)
|
|||||||
lcd_writeData(0x05);
|
lcd_writeData(0x05);
|
||||||
lcd_writeIndex(0x29);
|
lcd_writeIndex(0x29);
|
||||||
|
|
||||||
lcd_clear(WHITE);//ȫ<><C8AB>
|
lcd_clear(RGB565_WHITE);//ȫ<><C8AB>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,7 +550,7 @@ void showimage(const unsigned char *p)
|
|||||||
{
|
{
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
unsigned char picH,picL;
|
unsigned char picH,picL;
|
||||||
lcd_clear(WHITE); //<2F><><EFBFBD><EFBFBD>
|
lcd_clear(RGB565_WHITE); //<2F><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
for(k=0;k<4;k++)
|
for(k=0;k<4;k++)
|
||||||
{
|
{
|
||||||
@@ -716,8 +716,8 @@ void lcd_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) lcd_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) lcd_writedata_16bit(RGB565_WHITE);
|
||||||
else lcd_writedata_16bit(BLACK);
|
else lcd_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,10 +78,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define TFT_PENCOLOR RED
|
#define TFT_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define TFT_BGCOLOR WHITE
|
#define TFT_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
|
|
||||||
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
//-------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ----------
|
||||||
#define RED 0xF800 //<2F><>ɫ
|
#define RGB565_RED 0xF800 //<2F><>ɫ
|
||||||
#define BLUE 0x001F //<2F><>ɫ
|
#define RGB565_BLUE 0x001F //<2F><>ɫ
|
||||||
#define YELLOW 0xFFE0 //<2F><>ɫ
|
#define RGB565_YELLOW 0xFFE0 //<2F><>ɫ
|
||||||
#define GREEN 0x07E0 //<2F><>ɫ
|
#define RGB565_GREEN 0x07E0 //<2F><>ɫ
|
||||||
#define WHITE 0xFFFF //<2F><>ɫ
|
#define RGB565_WHITE 0xFFFF //<2F><>ɫ
|
||||||
#define BLACK 0x0000 //<2F><>ɫ
|
#define RGB565_BLACK 0x0000 //<2F><>ɫ
|
||||||
#define GRAY 0X8430 //<2F><>ɫ
|
#define RGB565_GRAY 0X8430 //<2F><>ɫ
|
||||||
#define BROWN 0XBC40 //<2F><>ɫ
|
#define RGB565_BROWN 0XBC40 //<2F><>ɫ
|
||||||
#define PURPLE 0XF81F //<2F><>ɫ
|
#define RGB565_PURPLE 0XF81F //<2F><>ɫ
|
||||||
#define PINK 0XFE19 //<2F><>ɫ
|
#define RGB565_PINK 0XFE19 //<2F><>ɫ
|
||||||
|
|
||||||
|
|
||||||
extern const uint8 tft_ascii[95][16];
|
extern const uint8 tft_ascii[95][16];
|
||||||
|
|||||||
@@ -726,8 +726,8 @@ void ips114_displayimage7725(uint8 *p, uint16 width, uint16 height)
|
|||||||
p++;
|
p++;
|
||||||
for(j=0; j<8; j++)
|
for(j=0; j<8; j++)
|
||||||
{
|
{
|
||||||
if( (temp<<j)&0x80 ) ips114_writedata_16bit(WHITE);
|
if( (temp<<j)&0x80 ) ips114_writedata_16bit(RGB565_WHITE);
|
||||||
else ips114_writedata_16bit(BLACK);
|
else ips114_writedata_16bit(RGB565_BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
|
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD>ֱʵ<D6B1><CAB5><EFBFBD>ɫ
|
||||||
#define IPS114_PENCOLOR RED
|
#define IPS114_PENCOLOR RGB565_RED
|
||||||
|
|
||||||
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
//<2F><><EFBFBD>屳<EFBFBD><E5B1B3><EFBFBD><EFBFBD>ɫ
|
||||||
#define IPS114_BGCOLOR WHITE
|
#define IPS114_BGCOLOR RGB565_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user