diff --git a/Example/ADC_Demo/Libraries/doc/version.txt b/Example/ADC_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/ADC_Demo/Libraries/doc/version.txt
+++ b/Example/ADC_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/ADC_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/ADC_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/ADC_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/ADC_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/ADC_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Cpu1_Handles_Interrupts_Demo/Libraries/doc/version.txt b/Example/Cpu1_Handles_Interrupts_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/Cpu1_Handles_Interrupts_Demo/Libraries/doc/version.txt
+++ b/Example/Cpu1_Handles_Interrupts_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/Cpu1_Handles_Interrupts_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Dual_Core_Demo/Libraries/doc/version.txt b/Example/Dual_Core_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/Dual_Core_Demo/Libraries/doc/version.txt
+++ b/Example/Dual_Core_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/Dual_Core_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/Dual_Core_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/Dual_Core_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/Dual_Core_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/Dual_Core_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/Dual_Core_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/Dual_Core_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/Dual_Core_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Dual_Core_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/Dual_Core_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/Dual_Core_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/Dual_Core_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/EEPROM_Demo/Libraries/doc/version.txt b/Example/EEPROM_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/EEPROM_Demo/Libraries/doc/version.txt
+++ b/Example/EEPROM_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/EEPROM_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/EEPROM_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/EEPROM_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/EEPROM_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/EEPROM_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/EEPROM_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/EEPROM_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/EEPROM_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/EEPROM_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/EEPROM_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/EEPROM_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/EEPROM_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Encoder_Demo/Libraries/doc/version.txt b/Example/Encoder_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/Encoder_Demo/Libraries/doc/version.txt
+++ b/Example/Encoder_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/Encoder_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/Encoder_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/Encoder_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/Encoder_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/Encoder_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/Encoder_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/Encoder_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/Encoder_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Encoder_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/Encoder_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/Encoder_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/Encoder_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/FFT_Demo/Libraries/doc/version.txt b/Example/FFT_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/FFT_Demo/Libraries/doc/version.txt
+++ b/Example/FFT_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/FFT_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/FFT_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/FFT_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/FFT_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/FFT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/GPIO_Interrupt_Demo/Libraries/doc/version.txt b/Example/GPIO_Interrupt_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/GPIO_Interrupt_Demo/Libraries/doc/version.txt
+++ b/Example/GPIO_Interrupt_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/GPIO_Interrupt_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/GPIO_Interrupt_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/GPIO_Interrupt_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/GPIO_Interrupt_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/GPIO_Interrupt_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/GPIO_Interrupt_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/GPIO_Interrupt_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/GPIO_Interrupt_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/GPIO_Interrupt_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/GPIO_Interrupt_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/GPIO_Interrupt_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/GPIO_Interrupt_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Interrupt_Priority_Set_Demo/Libraries/doc/version.txt b/Example/Interrupt_Priority_Set_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/Interrupt_Priority_Set_Demo/Libraries/doc/version.txt
+++ b/Example/Interrupt_Priority_Set_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/Interrupt_Priority_Set_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/LED_Blink_Demo/Libraries/doc/version.txt b/Example/LED_Blink_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/LED_Blink_Demo/Libraries/doc/version.txt
+++ b/Example/LED_Blink_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/LED_Blink_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/LED_Blink_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/LED_Blink_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/LED_Blink_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/LED_Blink_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/LED_Blink_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/LED_Blink_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/LED_Blink_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/LED_Blink_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/LED_Blink_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/LED_Blink_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/LED_Blink_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/PIT_Demo/Libraries/doc/version.txt b/Example/PIT_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/PIT_Demo/Libraries/doc/version.txt
+++ b/Example/PIT_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/PIT_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/PIT_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/PIT_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/PIT_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/PIT_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/PIT_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/PIT_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/PIT_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/PIT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/PIT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/PIT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/PIT_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/PWM_Demo/Libraries/doc/version.txt b/Example/PWM_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/PWM_Demo/Libraries/doc/version.txt
+++ b/Example/PWM_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/PWM_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/PWM_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/PWM_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/PWM_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/PWM_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/PWM_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/PWM_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/PWM_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/PWM_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/PWM_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/PWM_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/PWM_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Printf_Demo/Libraries/doc/version.txt b/Example/Printf_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/Printf_Demo/Libraries/doc/version.txt
+++ b/Example/Printf_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/Printf_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/Printf_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/Printf_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/Printf_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/Printf_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/Printf_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/Printf_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/Printf_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Printf_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/Printf_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/Printf_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/Printf_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/doc/version.txt b/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/doc/version.txt
+++ b/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/Specifies_Variable_Or_Code_Location_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Systick_Demo/Libraries/doc/version.txt b/Example/Systick_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/Systick_Demo/Libraries/doc/version.txt
+++ b/Example/Systick_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/Systick_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/Systick_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/Systick_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/Systick_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/Systick_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/Systick_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/Systick_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/Systick_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/Systick_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/Systick_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/Systick_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/Systick_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/UART_Demo/Libraries/doc/version.txt b/Example/UART_Demo/Libraries/doc/version.txt
index 26c5f0e..f828db2 100644
--- a/Example/UART_Demo/Libraries/doc/version.txt
+++ b/Example/UART_Demo/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Example/UART_Demo/Libraries/seekfree_libraries/zf_spi.c b/Example/UART_Demo/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Example/UART_Demo/Libraries/seekfree_libraries/zf_spi.c
+++ b/Example/UART_Demo/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Example/UART_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Example/UART_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Example/UART_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Example/UART_Demo/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Example/UART_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Example/UART_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Example/UART_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Example/UART_Demo/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Seekfree_TC264_Opensource_Library/.cproject b/Seekfree_TC264_Opensource_Library/.cproject
index d145b37..1ec84df 100644
--- a/Seekfree_TC264_Opensource_Library/.cproject
+++ b/Seekfree_TC264_Opensource_Library/.cproject
@@ -43,291 +43,291 @@
@@ -337,6 +337,10 @@
+
+
+
+
diff --git a/Seekfree_TC264_Opensource_Library/Libraries/doc/version.txt b/Seekfree_TC264_Opensource_Library/Libraries/doc/version.txt
index 26c5f0e..8be4c0d 100644
--- a/Seekfree_TC264_Opensource_Library/Libraries/doc/version.txt
+++ b/Seekfree_TC264_Opensource_Library/Libraries/doc/version.txt
@@ -1,3 +1,6 @@
+V1.2.5
+ 优化硬件SPI函数、SPI屏幕驱动,提高SPI屏幕刷新速度,IPS1.14屏幕显示总钻风188*120可达31帧,显示160*120可达37帧,TFT1.8屏幕显示总钻风160*120可达37帧。
+
V1.2.4
修复systick_delay_ms函数在延时时间较长的时候,延时时间不正确的问题
diff --git a/Seekfree_TC264_Opensource_Library/Libraries/seekfree_libraries/zf_spi.c b/Seekfree_TC264_Opensource_Library/Libraries/seekfree_libraries/zf_spi.c
index e3e7e68..6745f97 100644
--- a/Seekfree_TC264_Opensource_Library/Libraries/seekfree_libraries/zf_spi.c
+++ b/Seekfree_TC264_Opensource_Library/Libraries/seekfree_libraries/zf_spi.c
@@ -292,26 +292,36 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
bacon.B.TRAIL = 1;
bacon.B.TPRE = 1;
bacon.B.CS = cs_pin%102/6-3;
+
if(continuous) IfxQspi_writeBasicConfigurationBeginStream(moudle, bacon.U);//发送数据后CS继续保持为低
else IfxQspi_writeBasicConfigurationEndStream(moudle, bacon.U); //每发送一个字节CS信号拉高一次
+ if(midata)
+ {
+ //将之前fifo中的数据全读读取出来
+ i = moudle->STATUS.B.RXFIFOLEVEL;
+ while(i--)
+ {
+ (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
+ }
+
if(len>1)
{
i = 0;
- while(i < (len-1))
+ len -= 1;
+ while(i < len)
{
- while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- IfxQspi_write8(moudle, IfxQspi_ChannelId_0, modata, 1);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata)
+
+ IfxQspi_writeTransmitFifo(moudle, *modata++);
+ if(midata)
{
- IfxQspi_read8(moudle,midata,1);
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
midata++;
}
- else (void)moudle->RXEXIT.U;
- modata++;
-
i++;
+ while(moudle->STATUS.B.TXFIFOLEVEL != 0);
}
}
@@ -320,9 +330,11 @@ void spi_mosi(SPIN_enum spi_n, SPI_PIN_enum cs_pin, uint8 *modata, uint8 *midata
IfxQspi_writeTransmitFifo(moudle, *modata);
while(moudle->STATUS.B.TXFIFOLEVEL != 0);
- while(moudle->STATUS.B.RXFIFOLEVEL == 0);
- if(NULL != midata) IfxQspi_read8(moudle,midata,1);
- else (void)moudle->RXEXIT.U;
+ if(midata)
+ {
+ while(moudle->STATUS.B.RXFIFOLEVEL == 0);
+ *midata = (uint8)IfxQspi_readReceiveFifo(moudle);
+ }
}
diff --git a/Seekfree_TC264_Opensource_Library/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c b/Seekfree_TC264_Opensource_Library/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
index 7402a8d..9b4b650 100644
--- a/Seekfree_TC264_Opensource_Library/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
+++ b/Seekfree_TC264_Opensource_Library/Libraries/seekfree_peripheral/SEEKFREE_18TFT.c
@@ -51,14 +51,14 @@
void lcd_writeIndex(uint8 dat) //写命令
{
DC(0);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writeData(uint8 dat) //写数据
{
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,&dat,&dat,1,1);
+ spi_mosi(TFT_SPIN,TFT_CS,&dat,NULL,1,1);
}
void lcd_writedata_16bit(uint16 dat) //向液晶屏写一个16位数据
@@ -68,7 +68,7 @@ void lcd_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
DC(1);
- spi_mosi(TFT_SPIN,TFT_CS,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(TFT_SPIN,TFT_CS,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Seekfree_TC264_Opensource_Library/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c b/Seekfree_TC264_Opensource_Library/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
index 90098f7..5f3fd1e 100644
--- a/Seekfree_TC264_Opensource_Library/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
+++ b/Seekfree_TC264_Opensource_Library/Libraries/seekfree_peripheral/SEEKFREE_IPS114_SPI.c
@@ -52,7 +52,7 @@
void ips114_writeIndex(uint8 dat) //写命令
{
IPS114_DC(0);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
@@ -66,7 +66,7 @@ void ips114_writeIndex(uint8 dat) //写
void ips114_writeData(uint8 dat) //写数据
{
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,&dat,1,1);
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,&dat,NULL,1,1);
}
//-------------------------------------------------------------------------------------------------------------------
@@ -83,7 +83,7 @@ void ips114_writedata_16bit(uint16 dat) //
dat1[1] = (uint8)dat;
IPS114_DC(1);
- spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,dat1,2,1); //写入数据 高位在前 低位在后
+ spi_mosi(IPS114_SPIN_PIN,IPS114_CS_PIN,dat1,NULL,2,1); //写入数据 高位在前 低位在后
}
//-------------------------------------------------------------------------------------------------------------------
diff --git a/Seekfree_TC264_Opensource_Library/USER/Cpu0_Main.c b/Seekfree_TC264_Opensource_Library/USER/Cpu0_Main.c
index 1ca6280..82d0cab 100644
--- a/Seekfree_TC264_Opensource_Library/USER/Cpu0_Main.c
+++ b/Seekfree_TC264_Opensource_Library/USER/Cpu0_Main.c
@@ -40,9 +40,9 @@ int core0_main(void)
IfxCpu_waitEvent(&g_cpuSyncEvent, 0xFFFF);
enableInterrupts();
- //注意 从V1.1.6版本之后 printf打印的信息从串口输出具体可以学习库例程6-Printf_Demo
- //注意 从V1.1.6版本之后 printf打印的信息从串口输出具体可以学习库例程6-Printf_Demo
- //注意 从V1.1.6版本之后 printf打印的信息从串口输出具体可以学习库例程6-Printf_Demo
+ //注意 从V1.1.6版本之后 printf打印的信息从串口输出具体可以学习库例程Printf_Demo
+ //注意 从V1.1.6版本之后 printf打印的信息从串口输出具体可以学习库例程Printf_Demo
+ //注意 从V1.1.6版本之后 printf打印的信息从串口输出具体可以学习库例程Printf_Demo
while (TRUE)
{
//用户在此处编写任务代码