当前位置:网站首页>Incomplete comparison between STM32 and gd32 standard library
Incomplete comparison between STM32 and gd32 standard library
2022-04-22 00:15:00 【cpp-repository】
GPIO.h contrast
| STM32-GPIO function | GD32-GPIO function |
|---|---|
| void GPIO_DeInit(GPIO_TypeDef* GPIOx); | void gpio_deinit(uint32_t gpio_periph); |
| void GPIO_AFIODeInit(void); | void gpio_afio_deinit(void); |
| void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); | void gpio_init(uint32_t gpio_periph, uint32_t mode, uint32_t speed, uint32_t pin); |
| void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); | |
| uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); | FlagStatus gpio_input_bit_get(uint32_t gpio_periph, uint32_t pin); |
| uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); | uint16_t gpio_input_port_get(uint32_t gpio_periph); |
| uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); | FlagStatus gpio_output_bit_get(uint32_t gpio_periph, uint32_t pin); |
| uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx); | uint16_t gpio_output_port_get(uint32_t gpio_periph); |
| void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); | void gpio_bit_set(uint32_t gpio_periph, uint32_t pin); |
| void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); | void gpio_bit_reset(uint32_t gpio_periph, uint32_t pin); |
| void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); | void gpio_bit_write(uint32_t gpio_periph, uint32_t pin, bit_status bit_value); |
| void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); | void gpio_port_write(uint32_t gpio_periph, uint16_t data); |
| void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); | void gpio_pin_lock(uint32_t gpio_periph, uint32_t pin); |
| void GPIO_EventOutputConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); | void gpio_event_output_config(uint8_t output_port, uint8_t output_pin); |
| void GPIO_EventOutputCmd(FunctionalState NewState); | void gpio_event_output_enable(void); |
| void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState); | void gpio_pin_remap_config(uint32_t remap, ControlStatus newvalue); |
| void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); | |
| void GPIO_ETH_MediaInterfaceConfig(uint32_t GPIO_ETH_MediaInterface); |
EXTI.h
| STM32-exti function | GD32-exti function |
|---|---|
| void EXTI_DeInit(void); | void exti_deinit(void); |
| void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct);void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct); | void exti_init(exti_line_enum linex, exti_mode_enum mode, exti_trig_type_enum trig_type); |
| void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line); | void exti_interrupt_enable(exti_line_enum linex); |
| void exti_event_enable(exti_line_enum linex); | |
| void exti_interrupt_disable(exti_line_enum linex); | |
| void exti_event_disable(exti_line_enum linex); | |
| FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line); | FlagStatus exti_flag_get(exti_line_enum linex); |
| void EXTI_ClearFlag(uint32_t EXTI_Line); | void exti_flag_clear(exti_line_enum linex); |
| ITStatus EXTI_GetITStatus(uint32_t EXTI_Line); | FlagStatus exti_interrupt_flag_get(exti_line_enum linex); |
| void EXTI_ClearITPendingBit(uint32_t EXTI_Line); | void exti_interrupt_flag_clear(exti_line_enum linex); |
| void exti_software_interrupt_enable(exti_line_enum linex); | |
| void exti_software_interrupt_disable(exti_line_enum linex); |
ADC.h
stm32
void ADC_DeInit(ADC_TypeDef* ADCx);
void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct);
void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct);
void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState);
void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState);
void ADC_ITConfig(ADC_TypeDef* ADCx, uint16_t ADC_IT, FunctionalState NewState);
void ADC_ResetCalibration(ADC_TypeDef* ADCx);
FlagStatus ADC_GetResetCalibrationStatus(ADC_TypeDef* ADCx);
void ADC_StartCalibration(ADC_TypeDef* ADCx);
FlagStatus ADC_GetCalibrationStatus(ADC_TypeDef* ADCx);
void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
FlagStatus ADC_GetSoftwareStartConvStatus(ADC_TypeDef* ADCx);
void ADC_DiscModeChannelCountConfig(ADC_TypeDef* ADCx, uint8_t Number);
void ADC_DiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime);
void ADC_ExternalTrigConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
uint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx);
uint32_t ADC_GetDualModeConversionValue(void);
void ADC_AutoInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
void ADC_InjectedDiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
void ADC_ExternalTrigInjectedConvConfig(ADC_TypeDef* ADCx, uint32_t ADC_ExternalTrigInjecConv);
void ADC_ExternalTrigInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
void ADC_SoftwareStartInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState);
FlagStatus ADC_GetSoftwareStartInjectedConvCmdStatus(ADC_TypeDef* ADCx);
void ADC_InjectedChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime);
void ADC_InjectedSequencerLengthConfig(ADC_TypeDef* ADCx, uint8_t Length);
void ADC_SetInjectedOffset(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel, uint16_t Offset);
uint16_t ADC_GetInjectedConversionValue(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel);
void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, uint32_t ADC_AnalogWatchdog);
void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, uint16_t HighThreshold, uint16_t LowThreshold);
void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel);
void ADC_TempSensorVrefintCmd(FunctionalState NewState);
FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t ADC_FLAG);
void ADC_ClearFlag(ADC_TypeDef* ADCx, uint8_t ADC_FLAG);
ITStatus ADC_GetITStatus(ADC_TypeDef* ADCx, uint16_t ADC_IT);
void ADC_ClearITPendingBit(ADC_TypeDef* ADCx, uint16_t ADC_IT);
GD32
/* reset ADC */
void adc_deinit(uint32_t adc_periph);
/* enable ADC interface */
void adc_enable(uint32_t adc_periph);
/* disable ADC interface */
void adc_disable(uint32_t adc_periph);
/* ADC calibration and reset calibration */
void adc_calibration_enable(uint32_t adc_periph);
/* enable DMA request */
void adc_dma_mode_enable(uint32_t adc_periph);
/* disable DMA request */
void adc_dma_mode_disable(uint32_t adc_periph);
/* enable the temperature sensor and Vrefint channel */
void adc_tempsensor_vrefint_enable(void);
/* disable the temperature sensor and Vrefint channel */
void adc_tempsensor_vrefint_disable(void);
/* configure ADC resolution */
void adc_resolution_config(uint32_t adc_periph , uint32_t resolution);
/* configure ADC discontinuous mode */
void adc_discontinuous_mode_config(uint32_t adc_periph , uint8_t adc_channel_group , uint8_t length);
/* configure the ADC mode */
void adc_mode_config(uint32_t mode);
/* enable or disable ADC special function */
void adc_special_function_config(uint32_t adc_periph , uint32_t function , ControlStatus newvalue);
/* configure ADC data alignment */
void adc_data_alignment_config(uint32_t adc_periph , uint32_t data_alignment);
/* configure the length of regular channel group or inserted channel group */
void adc_channel_length_config(uint32_t adc_periph , uint8_t adc_channel_group , uint32_t length);
/* configure ADC regular channel */
void adc_regular_channel_config(uint32_t adc_periph , uint8_t rank , uint8_t adc_channel , uint32_t sample_time);
/* configure ADC inserted channel */
void adc_inserted_channel_config(uint32_t adc_periph , uint8_t rank , uint8_t adc_channel , uint32_t sample_time);
/* configure ADC inserted channel offset */
void adc_inserted_channel_offset_config(uint32_t adc_periph , uint8_t inserted_channel , uint16_t offset);
/* enable ADC external trigger */
void adc_external_trigger_config(uint32_t adc_periph, uint8_t adc_channel_group, ControlStatus newvalue);
/* configure ADC external trigger source */
void adc_external_trigger_source_config(uint32_t adc_periph, uint8_t adc_channel_group, uint32_t external_trigger_source);
/* enable ADC software trigger */
void adc_software_trigger_enable(uint32_t adc_periph , uint8_t adc_channel_group);
/* read ADC regular group data register */
uint16_t adc_regular_data_read(uint32_t adc_periph);
/* read ADC inserted group data register */
uint16_t adc_inserted_data_read(uint32_t adc_periph , uint8_t inserted_channel);
/* read the last ADC0 and ADC1 conversion result data in sync mode */
uint32_t adc_sync_mode_convert_value_read(void);
/* get the ADC flag bits */
FlagStatus adc_flag_get(uint32_t adc_periph , uint32_t adc_flag);
/* clear the ADC flag bits */
void adc_flag_clear(uint32_t adc_periph , uint32_t adc_flag);
/* get the ADC interrupt bits */
FlagStatus adc_interrupt_flag_get(uint32_t adc_periph , uint32_t adc_interrupt);
/* clear the ADC flag */
void adc_interrupt_flag_clear(uint32_t adc_periph , uint32_t adc_interrupt);
/* enable ADC interrupt */
void adc_interrupt_enable(uint32_t adc_periph , uint32_t adc_interrupt);
/* disable ADC interrupt */
void adc_interrupt_disable(uint32_t adc_periph , uint32_t adc_interrupt);
/* configure ADC analog watchdog single channel */
void adc_watchdog_single_channel_enable(uint32_t adc_periph, uint8_t adc_channel);
/* configure ADC analog watchdog group channel */
void adc_watchdog_group_channel_enable(uint32_t adc_periph, uint8_t adc_channel_group);
/* disable ADC analog watchdog */
void adc_watchdog_disable(uint32_t adc_periph);
/* configure ADC analog watchdog threshold */
void adc_watchdog_threshold_config(uint32_t adc_periph , uint16_t low_threshold , uint16_t high_threshold);
/* configure ADC oversample mode */
void adc_oversample_mode_config(uint32_t adc_periph , uint32_t mode , uint16_t shift , uint8_t ratio);
/* enable ADC oversample mode */
void adc_oversample_mode_enable(uint32_t adc_periph);
/* disable ADC oversample mode */
void adc_oversample_mode_disable(uint32_t adc_periph);
Compared to adc They found , Most of them are refactoring of name modification and function splitting and encapsulation , If imagine stm32 Use the same , You can only get familiar with , Fortunately, there are stm32 The basis of , They have the same function , The configuration is the same , The function names used in the configuration process are different , The same principle , Is that what you can imagine to be the same , Um. , Sure
版权声明
本文为[cpp-repository]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204220012142953.html
边栏推荐
- Analysis of EMI suppression methods of switches and diodes in switching power supply
- A section of school recruitment and test questions 1-a-share online innovation
- dp 优化
- L1-020 帅到没朋友
- Simple use of OpenSSL
- Tp4582b / tp4584b Bluetooth charging base lithium battery charging and discharging chip
- 08. 树莓派安装MySQL
- How to handle the convenient and safe futures account opening?
- The shadow ticket rebate system developed by uniapp + PHP can operate perfectly
- LED发光二极管的主要参数与结构介绍
猜你喜欢
随机推荐
Fansea 4W single coil transmitting wireless charging 5W module
What kind of sports headphones should you choose and what style of headphones are comfortable to wear
Fs2451 can replace the high-voltage DCDC chip of MPS mp2451 to help the design of smart meter 40v0 5A step-down IC
seo关键词扩展-自动关键词拓展软件免费下载
OpenSSL简单的使用
深度解析ERP和MES的六大不同之处,务必耐心看完
Cocoscreator learning sample collection v3 four point two
Deeply analyze the six differences between ERP and MES, and be sure to read them patiently
AI helps to monitor the wearing of labor protection equipment and escort the safe production of enterprises
LeetCode_62 不同路径
OJ daily practice - factorial sequence and
busybox概述
某节校招测开题1-A股线上打新
等待wait(),wait(long),wait(long,int)/通知机制notify(),notifyAll()
Function of freewheeling diode in switching power supply
2022北京眼睛健康展,北京眼镜展,北京近视矫正展,眼视光展
On the happiness of fishing -- April 20
What is the process of complete data analysis
都说MES能提高企业生产效率,具体表现在哪些方面呢?
2022年起重机械电气安装维修考试题库模拟考试平台操作


![[leetcode daily question] goat Latin](/img/a0/d5d8690bd3438a87f6b6202b3eff3b.png)





