From 9fd45979e536f320ce95436eaf5a7d1e1a49f90a Mon Sep 17 00:00:00 2001 From: SEEKFREE_BUDING <2289331269@qq.com> Date: Thu, 21 Dec 2023 14:06:53 +0800 Subject: [PATCH] =?UTF-8?q?V3.2.5=20=20=20=20=20=20=20=20=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=BB=B6=E6=97=B6=E5=87=BD=E6=95=B0=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E5=8F=82=E6=95=B0=E5=8F=8A=E4=B8=AD=E6=96=AD=E5=90=91?= =?UTF-8?q?=E9=87=8F=E8=A1=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../E01_gpio_demo/libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../E02_uart_demo/libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../E03_adc_demo/libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../E04_pwm_demo/libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../E05_pit_demo/libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../E06_exit_demo/libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../E08_eeprom_demo/libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../E09_timer_demo/libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../E15_fft_demo/libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- .../libraries/doc/version.txt | 2 + .../libraries/zf_driver/zf_driver_delay.c | 37 ++++++++++--------- Seekfree_TC264_Opensource_Library/user/isr.c | 8 ---- 33 files changed, 352 insertions(+), 280 deletions(-) diff --git a/Example/E01_gpio_demo/libraries/doc/version.txt b/Example/E01_gpio_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E01_gpio_demo/libraries/doc/version.txt +++ b/Example/E01_gpio_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E01_gpio_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E01_gpio_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E01_gpio_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E01_gpio_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E02_uart_demo/libraries/doc/version.txt b/Example/E02_uart_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E02_uart_demo/libraries/doc/version.txt +++ b/Example/E02_uart_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E02_uart_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E02_uart_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E02_uart_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E02_uart_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E03_adc_demo/libraries/doc/version.txt b/Example/E03_adc_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E03_adc_demo/libraries/doc/version.txt +++ b/Example/E03_adc_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E03_adc_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E03_adc_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E03_adc_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E03_adc_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E04_pwm_demo/libraries/doc/version.txt b/Example/E04_pwm_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E04_pwm_demo/libraries/doc/version.txt +++ b/Example/E04_pwm_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E04_pwm_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E04_pwm_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E04_pwm_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E04_pwm_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E05_pit_demo/libraries/doc/version.txt b/Example/E05_pit_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E05_pit_demo/libraries/doc/version.txt +++ b/Example/E05_pit_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E05_pit_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E05_pit_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E05_pit_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E05_pit_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E06_exit_demo/libraries/doc/version.txt b/Example/E06_exit_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E06_exit_demo/libraries/doc/version.txt +++ b/Example/E06_exit_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E06_exit_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E06_exit_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E06_exit_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E06_exit_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E07_encoder_demo/libraries/doc/version.txt b/Example/E07_encoder_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E07_encoder_demo/libraries/doc/version.txt +++ b/Example/E07_encoder_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E07_encoder_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E07_encoder_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E07_encoder_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E07_encoder_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E08_eeprom_demo/libraries/doc/version.txt b/Example/E08_eeprom_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E08_eeprom_demo/libraries/doc/version.txt +++ b/Example/E08_eeprom_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E08_eeprom_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E08_eeprom_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E08_eeprom_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E08_eeprom_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E09_timer_demo/libraries/doc/version.txt b/Example/E09_timer_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E09_timer_demo/libraries/doc/version.txt +++ b/Example/E09_timer_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E09_timer_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E09_timer_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E09_timer_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E09_timer_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E10_printf_debug_log_demo/libraries/doc/version.txt b/Example/E10_printf_debug_log_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E10_printf_debug_log_demo/libraries/doc/version.txt +++ b/Example/E10_printf_debug_log_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E10_printf_debug_log_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E10_printf_debug_log_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E10_printf_debug_log_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E10_printf_debug_log_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E11_interrupt_priority_set_demo/libraries/doc/version.txt b/Example/E11_interrupt_priority_set_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E11_interrupt_priority_set_demo/libraries/doc/version.txt +++ b/Example/E11_interrupt_priority_set_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E11_interrupt_priority_set_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E11_interrupt_priority_set_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E11_interrupt_priority_set_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E11_interrupt_priority_set_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E12_cpu1_handles_interrupts_demo/libraries/doc/version.txt b/Example/E12_cpu1_handles_interrupts_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E12_cpu1_handles_interrupts_demo/libraries/doc/version.txt +++ b/Example/E12_cpu1_handles_interrupts_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E12_cpu1_handles_interrupts_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E12_cpu1_handles_interrupts_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E12_cpu1_handles_interrupts_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E12_cpu1_handles_interrupts_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E13_dual_core_demo/libraries/doc/version.txt b/Example/E13_dual_core_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E13_dual_core_demo/libraries/doc/version.txt +++ b/Example/E13_dual_core_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E13_dual_core_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E13_dual_core_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E13_dual_core_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E13_dual_core_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E14_specifies_variable_or_code_location_demo/libraries/doc/version.txt b/Example/E14_specifies_variable_or_code_location_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E14_specifies_variable_or_code_location_demo/libraries/doc/version.txt +++ b/Example/E14_specifies_variable_or_code_location_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E14_specifies_variable_or_code_location_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E14_specifies_variable_or_code_location_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E14_specifies_variable_or_code_location_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E14_specifies_variable_or_code_location_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Example/E15_fft_demo/libraries/doc/version.txt b/Example/E15_fft_demo/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Example/E15_fft_demo/libraries/doc/version.txt +++ b/Example/E15_fft_demo/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Example/E15_fft_demo/libraries/zf_driver/zf_driver_delay.c b/Example/E15_fft_demo/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Example/E15_fft_demo/libraries/zf_driver/zf_driver_delay.c +++ b/Example/E15_fft_demo/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Seekfree_TC264_Opensource_Library/libraries/doc/version.txt b/Seekfree_TC264_Opensource_Library/libraries/doc/version.txt index e4ebf19..b841b50 100644 --- a/Seekfree_TC264_Opensource_Library/libraries/doc/version.txt +++ b/Seekfree_TC264_Opensource_Library/libraries/doc/version.txt @@ -1,3 +1,5 @@ +V3.2.5 + 修复延时函数初始化参数及中断向量表问题 V3.2.4 优化延时函数为中断延时,关闭总中断则为普通延时 优化ips114屏幕的初始化时间,移除不必要的延时 diff --git a/Seekfree_TC264_Opensource_Library/libraries/zf_driver/zf_driver_delay.c b/Seekfree_TC264_Opensource_Library/libraries/zf_driver/zf_driver_delay.c index 9337e64..4ec533c 100644 --- a/Seekfree_TC264_Opensource_Library/libraries/zf_driver/zf_driver_delay.c +++ b/Seekfree_TC264_Opensource_Library/libraries/zf_driver/zf_driver_delay.c @@ -57,10 +57,9 @@ IFX_INTERRUPT(stm0_isr, 0, IFX_INTPRIO_STM0_SR0) IFX_INTERRUPT(stm1_isr, 0, IFX_INTPRIO_STM1_SR0) { interrupt_global_enable(0); // 开启中断嵌套 - IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_1); + IfxStm_clearCompareFlag(&MODULE_STM1, IfxStm_Comparator_0); stm1_isr_flag = 0; } - //------------------------------------------------------------------------------------------------------------------- // 函数简介 system延时函数 // 参数说明 time 延时一轮的时间(单位为纳秒,可设置范围0-20000000) @@ -79,19 +78,23 @@ void system_delay_10ns (uint32 time) } else { - if(stm_index == IfxStm_Index_0) + switch(stm_index) { - Ifx_STM *stm_sfr = &MODULE_STM0; - stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; - stm0_isr_flag = 1; - while(stm0_isr_flag); - } - else if(stm_index == IfxStm_Index_1) - { - Ifx_STM *stm_sfr = &MODULE_STM1; - stm_sfr->CMP[1].U = stm_sfr->TIM0.U + time; - stm1_isr_flag = 1; - while(stm1_isr_flag); + case IfxStm_Index_0: + { + Ifx_STM *stm_sfr = &MODULE_STM0; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm0_isr_flag = 1; + while(stm0_isr_flag); + }break; + case IfxStm_Index_1: + { + Ifx_STM *stm_sfr = &MODULE_STM1; + stm_sfr->CMP[0].U = stm_sfr->TIM0.U + time; + stm1_isr_flag = 1; + while(stm1_isr_flag); + }break; + case IfxStm_Index_none: break; } } } @@ -128,7 +131,6 @@ void system_delay_us (uint32 time) //------------------------------------------------------------------------------------------------------------------- void system_delay_ms (uint32 time) { - if(time > 40000) { while(time > 40000) @@ -165,10 +167,10 @@ void system_delay_init(void) IfxStm_initCompare(&MODULE_STM0, &stmConfig); IfxStm_clearCompareFlag(&MODULE_STM0, IfxStm_Comparator_0); - stmConfig.comparator = IfxStm_Comparator_1; + stmConfig.comparator = IfxStm_Comparator_0; stmConfig.compareOffset = IfxStm_ComparatorOffset_0; stmConfig.compareSize = IfxStm_ComparatorSize_32Bits; - stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir1; + stmConfig.comparatorInterrupt = IfxStm_ComparatorInterrupt_ir0; stmConfig.ticks = 1; stmConfig.triggerPriority = IFX_INTPRIO_STM1_SR0; stmConfig.typeOfService = IfxSrc_Tos_cpu1; @@ -178,3 +180,4 @@ void system_delay_init(void) restoreInterrupts(interrupt_state); } + diff --git a/Seekfree_TC264_Opensource_Library/user/isr.c b/Seekfree_TC264_Opensource_Library/user/isr.c index fd4287f..27171d2 100644 --- a/Seekfree_TC264_Opensource_Library/user/isr.c +++ b/Seekfree_TC264_Opensource_Library/user/isr.c @@ -233,14 +233,6 @@ IFX_INTERRUPT(uart3_rx_isr, 0, UART3_RX_INT_PRIO) -} -IFX_INTERRUPT(uart4_rx_isr, 0, UART3_RX_INT_PRIO) -{ - interrupt_global_enable(0); // 开启中断嵌套 - - - - } // 串口通讯错误中断