Nations.N32G032_Library.2.0.1版本：
1.增加IAR工程
2.调整代码格式

Nations.N32G032_Library.2.1.0版本：
1.RCC驱动修改ADC的1M时钟宏定义，CSR_RMRSTF_Reset宏定义
2.I2C驱动修改清标志函数，例程修改eeprom单字节读取问题、中断DMA模式问题，导入复位机制、重入判断
3.LPUART例程修改stop唤醒例程
4.RTC驱动添加闹钟秒匹配唤醒低功耗失败问题的软件规避方法（RTC_ConfigTime函数）、头文件添加RTC_INT_FLAG_RESERVED_MASK宏用于修改清除标志函数、RTC驱动添加delay_ms（）延时函数用于修改RTC_WaitForSynchro(void)函数
5.NVIC例程增加消抖
6.SQRT模块驱动函数将RADICANT改为RADICAND
7.CAN模块的取消发送函数修改
8.LPTIM各demo优化LED相关函数写法（除LPTIM_PWM例程，该例程中不需要LED，故删掉了相关代码）
9.PWR_LPRUN demo新增进出低功耗打印信息、PWR_SLEEP demo添加退出低功耗打印信息,添加DBG_SLEEP、PWR_STOP demo中PCLK1分频系数改为1（即：pclk1div = RCC_HCLK_DIV1）
10.修改SPI/I2S驱动中关于寄存器位的注释，与用户手册能对应上，I2S的Demo中与I2S相关的引脚、名称用宏定义和删除#if 0中的代码，删除IS2主机通过中断发数据和主模式IS2/SPI切换发送数据的Demo中不用的函数Buffercmp()
11.OPAMP的Demo中时钟使能添加上GPIOF的时钟使能
12.ADC 温度传感器及BG通道使能改写
13.ADC Demo中HSI使能后应等到稳定
14.ADC驱动文件添加对ADC_CTRL3的CKMODE操作
15.修改TIM例程中的readme
16.TIM驱动中OCxM的名字改成OCxMD
17.RTC日历初始化驱动由3个函数合为1个函数，并在函数内新增可开启和关闭的1秒延时功能，延时计数调用TIM6和SysTick模块，可根据宏切换
18.基于新版日历初始化驱动函数，RTC各demo中相关配置代码均有同步更新和优化
19.修改SPI_Flash Demo里的W25Q扇区擦除指令为0x20
20.ADC增加内部通道Vrefint的采样demo
21.RCC_CFG_SCLKSW改称0x00000007
22.OpaAdByTim的demo修改ADC1M时钟源为HSI
23.LPUART的WakeUpFromStop_OK例程中main.c文件中调用PWR_EnterSTOPMode修改
24.TIM的DMA Burst的功能只对TIMx_DCTRL以及之前的寄存器有效。修改TIM驱动C文件中TIM_ConfigDma函数的注释，以及TIM驱动头文件TIM_DMABASE的宏定义
25. 删除TSC的Demo
26.STOP+功能删除，n32g032_pwr.c和 n32g032_pwr.h修改相应代码。LPTIM的Wakeup的Demo，LPUART的WakeUpFromStopOK的Demo，PWR的Stop的Demo，修改进入STOP的函数调用
27. 修改FLASH驱动及注释
1）修改AC_LATENCY_MSK、RDP_USER_Key宏定义值
2）FLASH_SetLatency函数增加注释描述，增加latency对应的时钟范围
3）删除FLASH_Unlock、FLASH_Lock、FLASH_GetSTS、FLASH_WaitForLastOpt函数多余注释
4）修改FLASH_ConfigALLOptionByte函数参数WRP_Pages注释及data移位操作，新增FLASH_NO_WRPR_Pages宏定义
5）修改FLASH_ConfigUserOB的参数rdpuser_tmp赋值的值
6）修改FLASH_INTConfig、FLASH_GetFlagSTS函数的输入参数及新增ECC错误相关参数，并修改检查宏定义
28. 删除多余的adc驱动函数void ADC_EnableTempSensorVrefint(FunctionalState Cmd)
29.修改system_n32g032.c文件中的系统时钟配置宏定义方式
30.修改RCC驱动中的RCC_ConfigPll函数，添加RCC_PLLSource寄存器配置
31.修改RCC_ClockConfig例程中的pll配置代码，PLLOUT要在48~72M范围内，并优化部分注释

Nations.N32G032_Library.2.2.0版本：
1. n32g032.h文件中RCC_CFG2_ADC1MSEL宏定义修改
2. n32g032_rtc.c文件中，修改RTC_EnterInitMode(void)函数；
3. TIM模块的各个DEMO，配置前添加结构体初始化；
4. 删除ALGO的IAR demo并增加加密算法中初始化向量IV值；
5. 删除OpaAdByTim DEMO 中关于PB12作为TIM1的刹车源的选择；
6. I2C_Slave_Int 和I2C_Slave Demo中新增注意事项
7. KeyInterrupt Demo中新增GPIO模式配置
8. TimeStamp Demo将注释统一成PB7
9. 优化SPI_I2S_Switch_Slave Demo
10.SPI模块，CRC Demo的Readme中增加注意事项
11.LP RUN Demo中，删除冗余代码
12.system_n32g032.c和PWR-STOP例程中添加等待HSE稳定延时
13.n32g032_rtc.h文件中,修改RTC_GetTime 和RTC_GetSubSecond函数,在函数最后读取RTC_DATE寄存器
14.RtcAutoWakeUp Demo中, 修改n32g032_it.c文件中的RTC_IRQHandler函数
15.LPUART Interrupt_ok、USART DMA_Interrupt_ok、USART Interrupt_ok例程中添加错误判断及清除，并关闭断言
16.n32g032_rcc.c文件中，修改RCC_ConfigLse()函数

Nations.N32G032_Library.2.2.1版本：
1.增加函数TIM_ConfigUpdateEvt。
2.n32g032_adc.c文件中，ADC_ConfigInt，ADC_ClearIntPendingBit和ADC_ClearFlag新增ADC_FLAG_ENDC_ANY，ADC_FLAG_JENDC_ANY参数处理
3.n32g032_adc.c文件中，ADC_GetFlagStatus和ADC_GetIntStatus新增判断ENDC或JENDC之后延迟8个ADC_CLK再去反馈状态位
4.删除DEMO中DBG配置和描述
5.修改USART TX GPIO配置
6.更新USART驱动函数波特率计算方式
7.修改RTC_EnterInitMode和RTC_ConfigCalendar函数
8.修改demo例程报错处理方式
9.删除RTC_EnableWakeUpTsc函数

Nations.N32G032_Library.2.3.0版本：
1.n32g032_tim.h文件中，删除TIM_IC_POLARITY_BOTHEDGE宏定义
2. flash页擦添加地址判断
3. UART demo增加OREF判断
4. 新增I2C主/从机双地址demo
5. EXTI的Demo中改用EXTI_GetStatusFlag()获取标志
6. RTC驱动中读TSH或SUBS寄存器后再读一次DATE触发同步
7. 优化RTC模块AutoWakeup Demo中断处理函数
8. SPI_Flash的Demo中sFLASH_SendByte()和sFLASH_SendHalfWord()函数发送数据后先获取TE和BUSY标志再获取RNE标志
9. 修正ADC_GetFlagStatusNew函数中的断言

/***   For English users   ***/
Nations.N32G032_Library.2.0.1 version：
1. Add an IAR project.
2. Adjust the code formatting.


Nations.N32G032_Library.2.1.0 version：
1. Modify the RCC driver to update the ADC's 1M clock macro definition and CSR_RMRSTF_Reset macro definition.
2. Update the I2C driver to include a clear flag function, fix the single-byte read issue in the EEPROM example, address interrupt and DMA mode problems, introduce a reset mechanism, and implement reentry checks.
3. Modify the LPUART example to improve the stop wake-up routine.
4. Enhance the RTC driver by adding a software workaround for low-power failure when matching alarm seconds (RTC_ConfigTime function), include the RTC_INT_FLAG_RESERVED_MASK macro in the header file for clearing flags, and add a delay_ms() function to be used in modifying the RTC_WaitForSynchro(void) function.
5. In the NVIC example, add debounce functionality.
6. Update the SQRT module driver functions to replace "RADICANT" with "RADICAND."
7. Modify the cancel send function for the CAN module.
8. Optimize LED-related function implementations in various LPTIM demos (excluding the LPTIM_PWM example where LED-related code is removed).
9. In the PWR_LPRUN demo, add print information for entering and exiting low-power mode. In the PWR_SLEEP demo, add print information for exiting low-power mode. 
   Add DBG_SLEEP and change the PCLK1 division factor to 1 in the PWR_STOP demo (i.e., pclk1div = RCC_HCLK_DIV1).
10. Update comments related to register bits in the SPI/I2S drivers to align with the user manual. In the I2S demos, 
    use macros for pins and names related to I2S and remove unnecessary code within "#if 0." Delete unused functions "Buffercmp()" in the I2S host sending data via interrupt and switching between I2S/SPI master mode demos.
11. Add clock enable for GPIOF in the OPAMP demo's clock enable section.
12. Rewrite the enabling of the ADC temperature sensor and BG (Bandgap) channel.
13. In the ADC demo, ensure stability after enabling HSI.
14. Add operations for ADC_CTRL3 in the ADC driver files.
15. Update the readme in the TIM examples.
16. Change the name of "OCxM" to "OCxMD" in the TIM driver.
17. Combine the calendar initialization functions in the RTC driver into one function. Add a 1-second delay feature that can be enabled or disabled within the function. The delay count utilizes the TIM6 and SysTick modules and can be switched based on macros.
18. Sync and optimize the related configuration code in the RTC demos based on the new version of the calendar initialization driver function.
19. Change the W25Q sector erase command to 0x20 in the SPI_Flash Demo.
20. Add ADC internal channel Vrefint sample demo
21. Change "RCC_CFG_SCLKSW" to "0x00000007".
22. Modify the clock source of ADC1M is from HSI
23. In the "WakeUpFromStop_OK" Demo for LPUART, make modifications to the "main.c" file where the "PWR_EnterSTOPMode" function is called.
24. TIMx_DCTRL's subsequent registers cannot apply the DMABurst function, and modify the corresponding code
25. Delete the Demo of TSC.
26. Remove the STOP+ functionality and make corresponding modifications in the "n32g032_pwr.c" and "n32g032_pwr.h" files. 
    Update the function calls to enter STOP mode in the LPTIM Wakeup Demo, LPUART WakeUpFromStopOK Demo, and PWR Stop Demo.
27. Modify FLASH drive and note
	1) Modify AC_ LATENCY_ MSK、RDP_ USER_ Key macro definition value
	2）FLASH_ SetLatency function adds a comment description and the clock range corresponding to latency
	3) Remove FLASH_ Unlock、FLASH_ Lock、FLASH_ GetSTS、FLASH_ WaitForLastOpt function extra comment
	4) Modify FLASH_ ConfigALLOptionByte function parameter WRP_Pages annotation and data shift operation, add FLASH_NO_WRPR_Pages Macro Definition
	5) Modify FLASH_ConfigUserOB's Parameter rdpuser_tmp  Value assigned
	6) Modify  Input parameters of FLASH_INTConfig and FLASHGetFlagSTS functions and new ECC error related parameters, and modify the check macro definition
28. Delete void ADC_EnableTempSensorVrefint(FunctionalState Cmd)
29. Modify the way the system clock configuration macros are defined in the system_n32g031.c file
30. Modify the RCC_ConfigPll function in the RCC driver and add RCC_PLLSource register configuration
31. Modify the pll configuration code in the RCC_ClockConfig demo, PLLOUT should be in the range of 48~72M, and optimize some comments


Nations.N32G032_Library.2.2.0 version：
1. Modify RCC_CFG2_ADC1MSEL macro in n32g032.h
2. Modify the RTC_EnterInitMode(void) function in the n32g032_rtc.c file
3. TIM module's various DEMOs, add structure initialization before configuration
4. Delete the comment description about LPTIM_TRIG_SOURCE_COMP2 in n32g032_lptim.c
5. Delete PB12 as the blinking source function for TIM1 in the OpaAdByTim demo
6. Add notes in I2C_Slave_Int and I2C_Slave Demo 
7. Add GPIO mode configuration in KeyInterrupt Demo 
8. Unify the comments for PB7 in the TimeStamp Demo
9. Optimize the SPI_I2S_Switch_Slave Demo
10.Add notes to the Readme of the SPI module's CRC Demo
11.Remove redundant code in the LP RUN demo
12.Add wait HSE stable delay in system_n32g032.c and PWR-STOP demo
13.RTC_GetTime and RTC_GetSubSecond function read RTC_DATE register in the end in the n32g032_rtc.c file
14.modify RTC_IRQHandler function in RtcAutoWakeUp Demo in n32g032_it.c file
15.LPUART Interrupt_ok、USART Interrupt_ok demo add error flag check and clear, and disable assert
16.Modify the RCC_ConfigLse() function in the n32g032_rcc.c file

Nations.N32G032_Library.2.2.1 version：
1.Added TIM_ConfigUpdateEvt.
2.Add  ADC_FLAG_ENDC_ANY, ADC_FLAG_JENDC_ANY as the new input param in ADC_ConfigInt，ADC_ClearIntPendingBit and ADC_Clear Flag functions  in the n32g032_adc.c file.
3.Add codes to judge if ENDC or JENDC is set, return the status after 8 adc_clk delay in ADC_GetFlagStatus and ADC_GetIntStatus functions in the n32g032_adc.c file.
4.Delect DBG configuration and discription in DEMO
5.Modify USART TX GPIO configuration
6.Update the baud rate calculation method of USART driver function
7.Modify RTC_EnterInitMode and RTC_ConfigCalendar function
8.Modify the error handling of demo routines.
9.Delete RTC_EnableWakeUpTsc function

Nations.N32G032_Library.2.3.0 version：
1.In the n32g032_tim.h file, delete the macro definition of TIM_IC_POLARITY_BOTHEDGE
2. Flash page erase to add address judgment
3. UART demo adds OREF judgment
4. Added I2C master/slave dual-address demo
5. Modified the EXTI demo to use EXTI_GetStatusFlag() for flag retrieval
6. In the RTC driver, trigger synchronization by reading the DATE register again after reading the TSH or SUBS register
7. Optimize the Interrupt Handling Function of the RTC Module's AutoWakeup Demo
8. In the SPI_Flash demo, sFLASH_SendByte() and sFLASH_SendHalfWord() functions now check TE and BUSY flags before checking RNE flag after data transmission
9. Fixed assertions in ADC_GetFlagStatusNew function


