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 @@ +