﻿Nations.N32G4FR_Library.2.5.0版本：
1.更新FLASH驱动，添加页擦的地址判断
2.更新USART demo，更改IO配置和添加OREF处理
3.STOP2例程增加STOP2模式下只有R-SRAM可以保持的注意事项描述
4.RTC中读取TSH寄存器、SUBS寄存器后再读取一次DATE寄存器触发同步
5.SPI_Flash Demo中sFLASH_SendByte()函数和sFLASH_SendHalfWord()函数中发送完数据后先获取TE和BUSY标志，之后才获取RNE标志
6.优化DMA模块驱动DMA_DeInit函数
7.STOP2例程添加注释
8.优化SystemInit函数
9.优化I2C EEPROM例程，防止低主频下数据出错
10.添加I2C双地址例程
11.新增GCC应用示例
12.所有RTC的Demo闹钟设置DateWeekValue从0x31改成31
13.优化RCC驱动RCC_ConfigRtcClk()函数
14.修正ADC_GetFlagStatusNew函数中的断言
15.优化ADC温度传感器的demo
16.优化ADC_StartCalibration与ADC_GetCalibrationStatus函数
17.修正TIM复用的宏定义GPIO_PART2_RMP_TIM3
18.添加RCC_ConfigLSETrim函数，LSE使能时默认配置为0x145

Nations.N32G4FR_Library.2.4.0版本：
1. 修改system_n32g45x.c中的SystemInit函数
2. EXTI中断服务函数中获取标志位修改为EXTI_GetStatusFlag函数
3. 进入STOP2或STANDBY模式前添加时钟配置流程
4. 优化RTC_CLKSourceConfig函数
5. 优化RTC驱动函数RTC_GetTime
6. USB的HID_Keyboard例程添加get_report和set_report指令支持

Nationstech.N32G4FR_Library.2.3.0版本：
1.增加函数TIM_ConfigUpdateEvt。
2.删除DEMO中DBG配置和描述
3.修改ADC驱动n32g4fr_adc.c与.h文件，拓展ADC_GetIntStatus()，ADC_ConfigInt()函数的传参；
4.修改ADC demo中ADC DMA使能的位置以及关于ENDC/JENDC使用；
5.修改RTC_EnterInitMode函数
6.修改USB 串口 DEMO，支持64字节发送 
7.修改RTC清除中断标志位断言判断
8.修改RTC自动唤醒DEMO中断处理
9.新增HID_Customer DEMO
10.HID_Keyboard保留一个DEMO
11.修改USB DEMO，描述符长度根据实际长度设置，修改获取描述符函数
12. 删除ICache的coremark demo
13. CAN模块CAN_Tx_Rx/Dual_CAN1_2/LoopBack_CAN1三个demo，Systick_MS_Config函数去掉封装，改为直接调用的形式
14. USART模块在DMA_Interrupt/Interrupt/LP_Transmit_Receive/Transmit_Receive/LIN_slave DEMO中，中断函数中添加对ORERR/PEF/NEF/FEF标志的判断和清除操作。
15.修改RCC、I2C例程报错处理方式
16.修改system_n32g4fr.c：初始化开icache，关预取
17.优化PWR模块AlarmWakeUp DEMO和STOP DEMO
18.驱动n32g4fr_adc.c中，ADC_GetIntStatus()与ADC_GetFlagStatus()增加延时处理
19.修改中文字符
20.优化TIM模块ComplementarySignals DEMO
21.优化TIM_InitBkdtStruct结构体
22.修改宏定义GPIO_RMP2_SPI2为GPIO_RMP3_SPI2
23. 删除FLASH_DMA_Program demo
24.优化PWR模块的PWR_AlarmWakeUp和STOP例程：进STOP2模式前将系统时钟源配置为HSI

Nationstech.N32G4FR_Library.2.2.0版本：
1.增加ADC的差分模式例程
2.删除EEPROM例程，增加EEPROM_Int例程、EEPROM_Polling例程、EEPROM_DMA例程。
3.修改RTC例程增加重复分频机制
4.修改ADC模块内核供电从LDO供电改为选择MR供电
5.修改CAN扩展帧过滤宏定义
6.GPIO_PH_CFG register 模式定义修改:GPIO_PH_CFG_PMODE1-->GPIO_PH_CFG_PMODE9
7.SetSysClock()优化
8.修改SPI FLASH DMA demo中 SPI_DMA_BufferRead函数，切换SPI模式前关闭SPI，切换完成后再开启
9.USART:
	新增LIN_Master和LIN_Slave 例程
	新增SmartCard 例程
10.system_n32g4fr.c新增VDDDBK trim调节函数
11.修改ADC校准和ADC使能后延时8us
12.RCC新增HSI修正接口
13.修改system_n32g4fr.c文件，限定选择PLL为时钟源时，系统时钟最小为32MHz
14.修改SPI FLASH DMA demo 读写flash时，部分分频系数下数据错乱问题
15.修改RTC Calendar 中的注释PA11为PA7
16.修改TamperTest 例程中的readme.txt 文件中描述的高电平为低电平
17.优化TIM模块的demo，增加各个结构体的初始化
18.RTC例程增加避免重复预分频机制
19.修改RTC程序中USART引脚注释
20.修改WWDG例程readme延迟58ms以上超时
21.RCC例程增加MCO输出PLLCLK注意事项
22.CAN_Tx_Rx例程readme文件数据帧修改为扩展帧

Nationstech.N32G4FR_Library.2.1.0版本：
1. 新增GCC下载配置文件和启动文件
2. 修改I2C复位函数，增加I2C3,I2C4复位判断
3. flash模块 driver文件删除已定义未使用变量
4. GPIO模块 例程删除已定义未使用变量
5. USART模块 例程删除已定义未使用变量
6. ADC 例程优化
      1）初始化函数增加在时钟配置上1M的初始化配置
      2）驱动添加对ADC_CTRL3的CKMOD操作
7. system_init RCC 配置寄存器2，配置寄存器3复位值修改
8. exit deinit 复位值修改
9. RCC deinit 配置寄存器3复位值修改、例程优化
10. 删除GPIOF、GPIOG相关内容
11. RT-Thread
     1) 删除并重新添加RT-Thread的middlewares组件文件
     2) 删除RT-Thread的Demo，重新添加RT-Thread的Demo，并更改启动方式，采用默认的启动方式
12. 修改RT-Thread n32g4fr_wdog_control函数，不使用宏，定义两个变量存储RELV和PREDIV寄存器的值
13. QSPI DMA DEMO DMA通道函数修改
14. 修改USB驱动usb_regs.h文件里的_BlocksOf32宏，wNBlocks << 11改为wNBlocks << 10
15. NVIC更新IRQ_Mask例程按下按键打印停止，再按下无法继续打印问题
16. iCache coreMark跑分优化
17. 修改n32g4fr.h，以及QSPI驱动、demo，删除无效寄存器以及将QSPI_ENH_CTRL0,QSPI_STS中的无效位改为保留位
18. 修改SPI FLASH中的W25Q128擦除命令宏定义
19. 修复了QSPI DMA配置一个通道会复位另一个通道的BUG，将DMA配置函数改成两个函数分别配置Tx、Rx
20. 修改misc.c/h中的IS_SYSTICK_CLK_SOURCE宏定义和void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)函数
21. 修改n32g4fr_adc.c中的uint32_t ADC_GetDualModeConversionDat(ADC_Module* ADCx)函数
22. RTC模块删除驱动中已定义未使用变量
23. 删除n32f4fr_it.c中未使用变量
24. 修改CAN_Tx_Rx Demo Readme里的CAN1引脚描述
25. 优化Flash_Write_Protection Demo的main()函数
26. 优化I2C_10bit和I2C_Master_Int Demo
27. 修改I2C_Slave_Int Demo的main()里的log_info()函数
28. 优化uSDCard Demo例程，删除未使用变量
29. 增加USART Demo的Readme注意事项说明
30. TIM_Basic6的Demo，PCLK1四分频
31. 增加所有Demo Readme英文版本
32. 删除DVP Demo
33. USB demo 关闭ERROR和ESOF中断
34. 修改RTC_Init(RTC_InitType* RTC_InitStruct)
35. 优化RtcAutoWakeUp Demo
36. 修改RT-Thread drv_can.c/h 和can.h的回环模式buge
37. TIMx_DCTRL后面的寄存器无法应用DMA Burst功能，修改相应代码
38. 增加I2C MASTER INT demo中的错误中断服务函数
39.将 SYSCLKConfig_STOP(uint32_t RCC_PLLMULL) 中的FLASH->AC 更换成变量操作


Nationstech.N32G4FR_Library.2.0.0版本：
版本变更 1.3.0->2.0.0
1.USART模块
    USART初始化函数,波特率设置优化

Nationstech.N32G4FR_Library.1.3.0版本：
1、I2C模块
    读单字节数据时的接收判断标志修改
    初始化函数，时钟判断修改
2、log.c
    修改fputc函数发送完成判断标志

Nationstech.N32G4FR_Library.1.2.0版本：
1、 公共文件n32g4fr.h修正了几个宏定义：
        RCC_CFG_USBPRES_PLLDIV3、RCC_CFG_USBPRES_PLLDIV2、RCC_APB1ENR_OPAMPEN、
        RCC_CSR_MMURSTF、FLASH_AC_LATENCY
2、 公共文件log.c、log.h：
        修改调试UART端口为PA9/PA10
3、 SPI模块：
        新增 SPI_RECORDER 例程
4、 USB模块：
        新增 Audio_Speaker 例程
        修改USB例程挂起后进入低功耗模式
5、 RCC模块，驱动n32g4fr_rcc.c/h中：
        更新RC_HSE_DISABLE宏定义名称
        更新RCC_ADC1MCLK_SRC_HSE宏定义的值
        删除RCC_ConfigEthClk相关定义
        例程优化
6、 FLASH模块，驱动n32g4fr_flash/h中：
        更新FLASH_SetSMPSELStatus函数定义
        更新FLASH_GetSMPSELStatus函数定义
7、 ADC模块，驱动n32g4fr_adc.c/h中：
        修改了ADC_SetDifChsEnable函数名称；
        修改了ADC 模式寄存器位定义名称；
        增加对校准功能的函数重入性控制
        温度测试公式修改
        例程优化
8、 RTC模块：
        优化RTC TimeStamp例程
        例程优化
9、SDIO模块，优化例程uSDCard：
        增加中断回调函数
        添加宏开关，切换单块读写和多块读写
10、USART模块：
        IrDA_Tx&Rx DEMO Receive测例和Transmit测例合并成Transmit_Receive测例
        IrDA_Tx&Rx DEMO 新增LP_Transmit_Receive测例
11、I2C模块：
        优化驱动n32g4fr_i2c.c/h，修改I2C初始化函数
        优化所有DEMO，修改端口配置及应用流程
12、DVP模块：
        完善针对C++的文件头宏定义  #ifdef __cplusplus } #endif
        例程优化
13、所有模块增加IAR工程示例
14、新增RT-Thread系统例程
15、QSPI模块：
    优化demo，在全功能板，运行异常问题。
16、WWDG模块
        例程优化
17、PWR模块
        例程优化
18、IWDG模块
        例程优化
19、bxCAN模块
        例程优化
            
            
Nationstech.N32G4FR_Library.1.1.1版本：
1、驱动n32g4fr_tim.c(V1.0.2)，改变TIM_EnableOc1Preload函数为TIM_ConfigOc1Preload；增加TIM_GetAutoReload、TIM_GetCCENStatus函数；
2、SPI 新增 SPI_FLASH_DMA 例程
3、USB 新增 HID_Keyboard_TwoWay 与 Printer 例程，修改字符描述符

Nationstech.N32G4FR_Library.1.1.0版本：
1、示例代码Flash_Write_Protectio工程nmain.c(V1.0.1)，清除标志作了修改；
2、示例代码Flash_Program工程main.c(V1.0.1)，错误处理作了修改；
3、示例代码Flash_DMA_Program工程main.c(V1.0.1)，清除标志作了修改；
4、驱动n32g4fr_flash.c(V1.0.1)，擦写操作增加先清除标志，然后再进行后续操作；
5、驱动n32g4fr_adc.c(V1.0.1),
   1)修改了void ADC_InitEx(ADC_Module* ADCx, ADC_InitTypeEx* ADC_InitStructEx)函数；
   2)增加void ADC_SetDifChsEnable(ADC_Module* ADCx,uint32_t DifChs)；
   3)修正ADC_CTRL3_CKMOD_AHB 和 ADC_CTRL3_CKMOD_PLL设定的错误
   4)增加void ADC_ConfigClk(ADC_CTRL3_CKMOD ADC_ClkMode, uint32_t RCC_ADCHCLKPrescaler)函数，用来合并RCC对ADC时钟的配置
6、驱动n32g4f_qspi.c，删除了data变量
7、驱动n32g4fr_tim.h(V1.0.1)，TIM_BDTRInitType结构体修改注释；
8、驱动n32g4fr_rcc.h(V1.0.1)，
   1)修改了TRNG1MCLK分频的宏定义；
   2)修改了IS_RCC_TRNG1MCLKPRE(VAL)宏定义；
9、驱动n32g4fr_gpio.h(V1.0.1),修改了IS_GPIO_REMAP(REMAP)宏定义；
10、驱动n32g4fr_flash.h(V1.0.1),
   1)修改了FLASH_ST枚举定义；
   2)删除FLASH_INT_ECCERRIE宏定义；
   3)修改IS_FLASH_INT(IT)宏定义；
   4)删除FLASH_FLAG_ECCERR宏定义；
   5)修改了IS_FLASH_CLEAR_FLAG宏定义；
   6)修改IS_FLASH_GET_FLAG(FLAG宏定义；
   7)增加了FLASH_STS_CLRFLAG宏定义；
11、驱动n32g4fr_adc.h(V1.0.1)，
   1)修改了ADC_DIFSEL_CHS_MASK宏定义名称；
   2)删除ADC_DIFSEL_CHS_0宏定义；
   3)增加ADC_CTRL3_PDRDY_MSK、ADC_CTRL3_RDY_MSK宏定义；
   4)修改了ADC_CTRL3_RES枚举定义；
   5)修改了ADC_InitTypeEx结构体；
   6)增void ADC_SetDifChs(ADC_Module* ADCx,uint32_t DifChs)声明；
   7)增void ADC_ConfigClk(ADC_CTRL3_CKMOD ADC_ClkMode, uint32_t RCC_ADCHCLKPrescaler)声明；
12、驱动n32g4fr.h，
    1)FLASH_Module结构体将ECCR变量改为RESERVED2；  
    2)QSPI_Module结构体变量DAT32~DAT35改为RESERVED2~RESERVED5；
    3)增加Bit definition for ADC_DIFSEL register宏定义；
    4)增加Bit definition for ADC_CALFACT register宏定义；
    5)增加Bit definition for ADC_CTRL3 register宏定义；
    6)增加Bit definition for ADC_SAMPT3 register宏定义；
    7)删除FLASH_AC_LATENCY_5、FLASH_STS_ECCERR、FLASH_CTRL_ECCERRITE、FLASH_ECCR_ECCLW_MSK、FLASH_ECCR_ECCHW_MSK宏定义；
    8)修改了HSE_STARTUP_TIMEOUT宏定义值;
    9)修改了CAN模块寄存器定义结构体;
    10)ADC_Module结构体去除IPTST变量；
    11)修改ADC_Module结构体里面的 WDHIGH


Nations.N32G4FR_Library.2.5.0 version:
1. Update FLASH driver and add address determination for page erase
2. Update the USART demo, change IO configuration, and add OREF processing
3. Added a note to the STOP2 example describing that only R-SRAM can be retained in STOP2 mode.
4. After reading the TSH register and SUBS register in the RTC, read the DATE register once more to trigger synchronization.
5. In the SPI_Flash Demo, the sFLASH_SendByte() and sFLASH_SendHalfWord() functions first acquire the TE and BUSY flags after sending data, and only then acquire the RNE flag.
6. Optimized DMA Module Driver DMA_DeInit Function.
7. STOP2 demo add note.
8. Optimize the SystemInit function.
9. Optimize the I2C EEPROM demo to prevent data errors at low clock frequencies.
10. Add I2C Dual Address demo.
11. Added GCC Application Examples.
12. For all RTC demo alarm settings, change the DateWeekValue from 0x31 to 31.
13. Optimize the RCC driver function RCC_ConfigRtcClk().
14. Modify assertions in the ADC_GetFlagStatusNew function
15. Optimize the ADC temperature sensor demo
16. Optimize the ADC_StartCalibration and ADC_GetCalibrationStatus functions
17. Modified macro definition for TIM remap: GPIO_PART2_RMP_TIM3
18. Added RCC_ConfigLSETrim function, When LSE is enabled, the default configuration is 0x145.

Nations. N32G4FR_Library. 2.4.0 version:
1.Modify SystemInit function in system_n32g45x.c
2.EXTI interrupt handle function,get flag with EXTI_GetStatusFlag function
3.Add clock config before enter STOP2/STANDBY mode
4.Modify RTC_CLKSourceConfig function
5.Modify RTC_GetTime function in rtc.c
6. USB's HID_Keyboard routines add support for get_report and set_report commands.

Nationstech. N32G4FR_Library. 2.3.0 version:
1.Added TIM_ConfigUpdateEvt.
2.Delect DBG configuration and discription in DEMO.
3.Modify the driver file n32g4fr_adc.c/.h for ADC , and expand the parameters of "ADC_GetIntStatus()，ADC_ConfigInt()" function;
4.Modify the code position of the ADC DMA enabling  in ADC demo ,and modify the usage of ENDC/JENDC flag.
5.Modify RTC_EnterInitMode function.
6.Modify Virtual_COM_Port and Virtual_COM_Port_LoopBack DEMO，support 64 bytes send.
7.ModifyRTC clear interrupt flag assert.
8.Modify RTC Auto wakeup DEMO interrupt handling.
9.Add HID_Customer DEMO
10.HID_Keyboard keep one DEMO
11.Modify USB DEMO, the length of the descriptor is set based on the actual length，modify get descriptor function
12. Delete the coremark demo of ICache.
13. CAN module CAN_Tx_Rx/Dual_CAN1_2/LoopBack_CAN1 demos, remove the wrapping of Systick_MS_Config function and replace it with a direct call.
14. USART module in the DMA_Interrupt/Interrupt/LP_Transmit_Receive/Transmit_Receive/LIN_slave DEMO, interrupt function to add the ORERR/PEF/NEF/FEF flag judgment and clear the operation.
15.Modify the error handling of RCC and I2C routines.
16.Modify system_n32g4fr.c：Initialization with icache on, prefetch off
17.Optimized PWR module AlarmWakeUp DEM and STOP DEMO.
18.ADC_GetIntStatus and ADC_GetFlagStatus functions in n32g4fr_adc.c file to add delay processing
19.Modify chinese characters
20.Optimized TIM module ComplementarySignals DEMO.
21.Optimized TIM_InitBkdtStruct.
22.Modify macro definition GPIO_RMP2_SPI2 to GPIO_RMP3_SPI2
23. Delete FLASH_DMA_Program demo
24. Optimize PWR_AlarmWakeUp and STOP demo of PWR module: configure the system clock source to HSI before entering STOP2 mode

Nationstech. N32G4FR_Library. 2.2.0 version:
1.Added ADC_DifferentialMode demo
2.Delete the EEPROM demo, add EEPROM_Int demo, EEPROM_Polling demo, EEPROM_DMA demo.
3.Modify RTC Demo add repetitive frequency division mechanism
4.ADCx module core power switch from LDO to MR
5.Modified CAN register extended frame macro definition
6.Modified GPIO_PH_CFG register mode macro definition:GPIO_PH_CFG_PMODE1-->GPIO_PH_CFG_PMODE9
7.SetSysClock() optimization
8.Modify the SPI_DMA_BufferRead function in the SPI FLASH DMA demo, turn off the SPI before switching the SPI mode, and turn it on after the switch is completed
9.USART:
	Added LIN_Master and LIN_Slave demo
	Added SmartCard  demo
10.Added VDDDBK trim function in the system_n32g4fr.c.
11.Modify ADC need to delay 8us after ADC Calibration and ADC enable.
12.Added HSI TRIM function in the RCC. 
13.Modify system_n32g4fr.c.file ,when PLL is selected as system clock source, the minimum system clock is 32MHz
14.When Modify SPI FLASH DMA demo to read and write flash,the problem of data confusion under some frequency division coefficients.
15.Modify the Comment PA11 to PA7 of RTC Calendar demo
16.Modify the high level described in the readme.txt file in the TamperTest demo to low level
17. Modify demo of TIM,initial structure.
18.Adding a machanism to avoid repetitive pre division in RTC demo
19.Modify the USART pin note in the RTC demo
20.Modify WWDG demo readme with a delay more than 58ms timeout
21.Added  MCO output PLLCLK note of RCC demo 
22.Modify CAN_TX_RX demo readme file data frame to extended frame


Nationstech. N32G4FR_Library. 2.1.0 version:
1. Added GCC download configuration file and startup file
2. Modify I2C reset function, add I2C3,I2C4 reset judgment
3. Delete defined unused variables from flash module drvier file
4.GPIO module routine deletes defined unused variables
5.USART module routine deletes defined unused variables
6.ADC routine optimization
          1) The initialization function adds 1M to the initialization configuration on the clock configuration
          2) Driver added CKMOD operation to ADC_CTRL3
7. system_ Init RCC configuration register 2, configuration register 3 reset value modification
8. Exit deinit reset value modification
9.RCC deinit configuration register 3 reset value modification, Routine optimization
10. Delete relevant contents of GPIOF and GPIOG
11.RT-Thread:
          1) Delete and readd the middlewares component file of RT-Thread
          2) Delete the demo of RT-Thread, add the demo of RRT-Thread again, and change the startup mode to adopt the default startup mode
12. Modify RT-Thread n32g4fr_wdog_control function, which does not use macros, defines two variables to store the values of the relv and prediv registers
13. QSPI DMA demo DMA channel function modification
14. Modify _BlocksOf32 macro in USB driver usb_regs.h file, wNBlocks << 10 changed to wNBlocks << 10
15.NVIC update IRQ_Mask routine press the key to stop printing, press again cannot continue printing
16. ICache coreMark running score optimization
17. Modify n32g4fr.h, QSPI driver, demo, delete invalid registers and change invalid bits in QSPI_ENH_CTRL0 and QSPI_STS to reserved bits
18. Modify the macro definition of W25Q128 erase command in SPI FLASH
19. Fixed the bug that QSPI DMA configuring one channel will reset the other channel, and changed the DMA configuration function to two functions to configure TX and Rx respectively.
20. Modify the IS_SYSTICK_CLK_SOURCE macro definition and void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource) function in misc.c/h
21. Modify the uint32_t ADC_GetDualModeConversionDat(ADC_Module* ADCx) function in n32g4fr_adc.c
22. RTC module deletes the defined unused variables in the driver
23. Delete defined unused variable int n32g4fr_it. c
24. Modify the CAN1 pin description in the CAN_Tx_Rx Demo Readme
25. Optimize main() function in Flash_Write_Protection Demo
26. Optimize I2C_10bit and I2C_Master_Int Demo
27. Modify the log_info() function in main() of I2C_Slave_Int Demo
28. Optimize the uSDCard Demo routine and delete unused variables
29. Add readme notes of USART demo
30. TIM_Basic6 Demo, PCLK1 quadruple frequency
31. Add all demo readme English versions
32. Delete DVP Demo
33. USB demo ERROR and ESOF interrupt closed
34. Modify the RTC_Init(RTC_InitType* RTC_InitStruct)
35. Optimize the RtcAutoWakeUp Demo
36. Modify the Loopback mode buge of drv_can.c/h and can.h in RT-Thread
37. DMA_CTRL‘s subsequent register cannot apply the DAM Burst function, and modify the corresponding code
38. Added error interrupt service function in I2C MASTER INT demo.
39.replace FLASH->AC in SYSCLKConfig_STOP(uint32_t RCC_PLLMULL) with variable operation

Nationstech. N32G4FR_Library. 2.0.0 version:
Version change 1.3.0- > 2.0.0
1. The USART module
          USART initialization function, baud rate settings optimized

Nationstech. N32G4FR_Library. 1.3.0 version:
1. I2C module
          Changes to receive judgment flags when reading single-byte data
          Initialization function, clock judge modification
2, log.c
          Modify the fputc function to send the completion flag

Nationstech. N32G4FR_Library. 1.2.0 version:
1. Public file n32g4fr.h fixes several macro definitions:
          RCC_CFG_USBPRES_PLLDIV3、RCC_CFG_USBPRES_PLLDIV2、RCC_APB1ENR_OPAMPEN、
          RCC_CSR_MMURSTF、FLASH_AC_LATENCY
2. Public file log.c、log.h：
          Modify the debugging UART port to PA9/PA10
3. SPI module:
         Added SPI_RECORDER routine
4. USB module:
         Added the Audio_Speaker routine
         Modify USB routines to enter low power mode after suspending
5, RCC module, driver n32g4fr_rcc. c/h:
         Updated the RC_HSE_DISABLE macro definition name
         Update the value defined by the RCC_ADC1MCLK_SRC_HSE macro
         Delete the RCC_ConfigEthClk definition
         Routine optimization
6, FLASH module, driver n32g4fr_flash.c/h:
         Update the FLASH_SetSMPSELStatus function definition
         Update the FLASH_GetSMPSELStatus function definition
7, ADC module, driver n32g4fr_ADC.c/h:
         Changed the ADC_SetDifChsEnable function name;
         Modified ADC mode register bit definition name;
         Added functional reentrant control for calibration functions
         Modify the temperature test formula
         Routine optimization
8. RTC Module:
         Optimize the RTC TimeStamp routine
         Routine optimization
9. SDIO module, optimization routine uSDCard:
         Added interrupt callback function
         Add macro switch to switch single block read/write and multiple block read/write
10. USART Module:
         IrDA_Tx&Rx DEMO Receive and Transmit tests are merged into Transmit_Receive tests
         IrDA_Tx&Rx DEMO adds LP_Transmit_Receive test
11. I2C module:
         Optimize driver n32g4fr_i2c.c/h, modify I2C initialization function
         Optimized all DEMO, modified port configuration and application flow
12. DVP module:
         Improve the file header macro definition for c++ ifdef__ cplusplus  #endif
         Routine optimization
13. Add IAR project examples for all modules
14. Added RT-Thread system routine
15. QSPI Module:
         Optimized demo, in the full function board, abnormal running problems.
16. WWDG module
         Routine optimization
17. PWR module
         Routine optimization
18. IWDG module
         Routine optimization
19. BxCAN module
         Routine optimization

Nationstech. N32G4FR_Library. 1.1.1 version:
1. Driver n32g4fr_tim.c(V1.0.2), change TIM_EnableOc1Preload function to TIM_ConfigOc1Preload function; Add TIM_GetAutoReload and TIM_GetCCENStatus functions;
2. SPI added SPI_FLASH_DMA routine
3. USB added HID_Keyboard_TwoWay and Printer routines, modify the character descriptor

Nationstech. N32G4FR_Library. 1.1.0 version:
1. Example code Flash_Write_Protectio project nmain.c(V1.0.1), the clear flag has been modified;
2. Example code Flash_Program project main.c(V1.0.1), error handling has been modified;
3. Example code Flash_DMA_Program project main.c(V1.0.1), the clear mark has been modified;
4, Driver n32g4fr_flash.c (V1.0.1), erase operation added first clear flag, and then subsequent operations are carried out;
5. Driver N32G4FR_ADC.c (V1.0.1):
         1) Modified void ADC_ Initex (adc_module* adcx, adc_inittypeex* adc_initstructex) function;
         2) Add void ADC_ SetDifChsEnable(ADC_Module* ADCx,uint32_t DifChs)；
         3) Modify ADC_ CTRL3_ CKMOD_ AHB and ADC_ CTRL3_ CKMOD_ PLL setting error
         4) Add void ADC_ConfigClk(ADC_CTRL3_CKMOD ADC_ClkMode, Uint32_t RCC_ADCHCLKPrescaler) function to merge RCC configuration for ADC clock
6, Driver n32g4fr_qspI.c, delete data variable
7, Driver n32g4fr_tim.h(V1.0.1), TIM_ Bdtrinittype structure modification notes;
8. Driver n32g4fr_ rcc. h(V1.0.1)，
         1) The macro definition of TRNG1MCLK frequency division is modified;
         2) Modified IS_RCC_TRNG1MCLKPRE(VAL) macro definition;
9. Driver n32g4fr_ gpio.h (v1.0.1), modified IS_GPIO_REMAP(REMAP) macro definition;
10. Driver n32g4fr_ flash. h(V1.0.1):
         1) Modified the FLASH_ST enumeration definition;
         2) Delete FLASH_INT_ECCERRIE macro definition;
         3) Modified IS_FLASH_INT(IT) macro definition;
         4) Delete the FLASH_FLAG_ECCERR macro definition;
         5) Modified IS_FLASH_CLEAR_FLAG macro definition;
         6) Modified IS_FLASH_GET_FLAG macro definition;
         7) Added FLASH_STS_CLRFLAG macro definition;
11. Driver n32g4fr_ADC. h(V1.0.1):
         1) Modified ADC_DIFSEL_CHS_MASK macro definition name;
         2) Delete ADC_DIFSEL_CHS_0 macro definition;
         3) Add ADC_CTRL3_PDRDY_MSK and ADC_CTRL3_RDY_MSK macro definitions;
         4) Modified the ADC_CTRL3_RES enumeration definition;
         5) Modified the ADC_InitTypeEx structure;
         6) Add void ADC_SetDifChs(ADC_Module* ADCx,uint32_t DifChs) declaration;
         7) Add void ADC_ConfigClk(ADC_CTRL3_CKMOD ADC_ClkMode, Uint32_t RCC_ADCHCLKPrescaler) declaration;
12, Driver n32g4fr.h:
         1) The FLASH_Module structure changes the ECCR variable to RESERVED2;
         2) Change the QSPI_Module variable DAT32~DAT35 to RESERVED2~RESERVED5;
         3) Add Bit Definition for ADC_DIFSEL register macro definition;
         4) Add Bit Definition for ADC_CALFACT Register macro definition;
         5) Add Bit definition for ADC_CTRL3 register macro definition;
         6) Add Bit Definition for ADC_SAMPT3 register macro definition;
         7) Delete FLASH_AC_LATENCY_5, FLASH_STS_ECCERR, FLASH_CTRL_ECCERRITE, FLASH_ECCR_ECCLW_MSK, FLASH_ECCR_ECCHW_MSK macro definitions.
         8) Modified the HSE_STARTUP_TIMEOUT macro definition value;
         9) Modified CAN module register definition structure;
        10) Remove IPTST variable from ADC_Module;
        11) Modify WDHIGH in ADC_Module structure
