-
GD32为什么用PA2代替key按键功能不成功
配置PA4ADC引脚,将PA2代替key功能,一脚接地一脚接PA2,想实现在另一key按键控制oled屏同时(使用了PA1),如果杜邦线连接了地与PA2,可以在oled屏幕上显示读取的ADC值程序如下运行无误但是PA2连接时无法实现预期功能,PA1正常运行请大佬解答~谢谢#include"gd32f30x.h"#include"systick.h"#include#include"oled.h"externuint8_tIntFlag;//进入中断服务程序标志,在EXTI1_IRQHandler()函数置位//定义一个变量来跟踪当前显示的行staticuint8_tcurrentLine=0;//定义一个数组来存储要显示的信息的索引或字符串指针staticconstuint8_tchineseMessages[][2]={{12,0},//{30,1},//{48,2},//{66,3},//{84,4},//{102,5}//};staticuint8_t*englishMessages[]={"HUZHOU","TEL:12345678"};uint16_tadc_value;uint16_tVol_Value;floatVol_Value1;voidadc_config(void){/*resetADC*/adc_deinit(ADC1);///*ADCmodeconfig*/adc_mode_config(ADC_MODE_FREE);/*ADCcontinousfunctionenable*/adc_special_function_config(ADC1,ADC_CONTINUOUS_MODE,ENABLE);/*ADCdataalignmentconfig*/adc_data_alignment_config(ADC1,ADC_DATAALIGN_RIGHT);/*ADCresolusion6B*///adc_resolution_config(ADC1,ADC_RESOLUTION_6B);/*ADCchannellengthconfig*/adc_channel_length_config(ADC1,ADC_REGULAR_CHANNEL,1);/*ADCregularchannelconfig*/adc_regular_channel_config(ADC1,0,ADC_CHANNEL_4,ADC_SAMPLETIME_55POINT5);/*ADCtriggerconfig*/adc_external_trigger_source_config(ADC1,ADC_REGULAR_CHANNEL,ADC0_1_2_EXTTRIG_REGULAR_NONE);adc_external_trigger_config(ADC1,ADC_REGULAR_CHANNEL,ENABLE);/*enableADCinterface*/adc_enable(ADC1);delay_1ms(1);/*ADCcalibrationandresetcalibration*/adc_calibration_enable(ADC1);/*enableADCinterface*///adc_software_trigger_enable(ADC0,ADC_REGULAR_CHANNEL);}intmain(void){rcu_ahb_clock_config(R
2024-07-25 18 -
GD32A503 TIMER 上溢UP中断与CAP中断优先级有一定几率反转问题
测试硬件:GD32A503CC测试外设:TIMER0_CH1测试准备:PE5输入高频PWM中断优先级配置:UP中断高于CH1中断voidnvic_configuration(void){nvic_priority_group_set(NVIC_PRIGROUP_PRE1_SUB3);nvic_irq_enable(TIMER0_BRK_UP_TRG_CMT_IRQn,1,0);nvic_irq_enable(TIMER0_Channel_IRQn,1,1);}测试定时器配置:配置TIMER0_CH1为双沿输入捕获模式,使能TIMER0UP上溢与CH1中断。voidtimer_configuration(void){/*TIMER1configuration:inputcapturemode-------------------theexternalsignalisconnectedtoTIMER0CH1pin(PE5)therisingedgeisusedasactiveedgetheTIMER1CH0CVisusedtocomputethefrequencyvalue------------------------------------------------------------*/timer_ic_parameter_structtimer_icinitpara;timer_parameter_structtimer_initpara;rcu_periph_clock_enable(RCU_TIMER0);timer_deinit(TIMER0);/*TIMER0configuration*/timer_struct_para_init(&timer_initpara);timer_initpara.prescaler=99;timer_initpara.alignedmode=TIMER_COUNTER_EDGE;timer_initpara.counterdirection=TIMER_COUNTER_UP;timer_initpara.period=65535;timer_initpara.clockdivision=TIMER_CKDIV_DIV1;timer_initpara.repetitioncounter=0;timer_init(TIMER0,&timer_initpara);/*TIMER0configuration*//*TIMER0CH1inputcaptureconfiguration*/timer_channel_input_struct_para_init(&timer_icinitpara);timer_icinitpara.icpolarity=TIMER_IC_POLARITY_BOTH_EDGE;timer_icinitpara.icselection=TIMER_IC_SELECTION_DIRECTTI;timer_icinitpara.icprescaler=TIMER_IC_PSC_DIV1;timer_icinitpara.icfilter=0x0;timer_input_capture_config(TIMER0,TIMER_CH_1,&timer_icinitpara);/*auto-reloadpreloadenable*/timer_auto_reload_shadow_enable(TIMER0);/*clearchannel0interruptbit*/timer_interrupt_flag_clear(TIMER0,TIMER_INT_FLAG_UP
2024-06-18 11 -
dsPIC33EP64MC504-E/PT单片机设有温度保护吗
在做高温实验时(室温-175℃),当温度超过155℃(该器件最高结温)时,串口通讯中断,在自然降温过程中,当温度达到155℃时,单片机重启,串口通讯恢复,想问一下各位大佬,是不是该器件设有温度保护导致了这个现象?
2024-06-14 11 -
关于GD32F103RCT6 GPIO输出最大速度设置不同出现BUG的问题
测试的输出IO口有PA4PA5PA6PA7PC4PC5PB0PB1PB2PB10PB11PB12PB13PB14输出IO口全部设置初始低电平推挽输出下拉模式输出最大速度作为观测变量测试的输入IO口有PA12PA11PA10PA9PA8PC9PC8PC7PC6PB15输入IO口全部设置下拉模式低速模式输出口输出经过一个1k电阻到另一个输入口全部正常通过输入高电平能接收到高电平中速模式PC4PC5输出高电平PA10没获取到高电平高速模式PB2PB10输出高电平PA9PB11PB12输出高电平PA8使用的是STM32CubeMx工具直接生成代码求答没有家园币。。
2024-05-21 20 -
GD32E230C8T6 高级定时器timer0无法正常输出PWM波形
原本想用高级定时器的中央对齐计数模式来输出SPWM波,但是TIMER0的CH0,CH1等口,都无法正常输出PWM波形,换成普通定时器就可以了,STM32里对于高级定时器输出PWM波形,需要多加一个TIM_CtrlPWMOutputs函数,但是我看了GD32固件库函数,没有类似的,我怀疑是这个问题,有无大佬解答一下啊
2024-05-02 16 -
有没有大佬有GD32E103R系列
有没有大佬有GD32E103R系列的USART接收普通中断和USART接收空闲DMA中断的demo
2024-03-02 16 -
PSOC4的EZI2C深度睡眠唤醒问题
你好,使能EZI2C的EnableWakeupfromDeepSleepMode功能,在系统进入深度睡眠,通过此功能唤醒芯片,是否一定会导致主机获取第一帧数据失败,谢谢。
2024-01-31 19 -
GD32L233蓝牙在线升级
我通过蓝牙做在线升级,请问手机端有没有类似于SecureCRT的软件,通过一些协议传输Bin文件?
2023-12-25 10 -
Cortex-M23内核的HardFault问题怎么查找?
网上都是CortexM3/M4的查找方法,发现不适用根本定位不到原因。使用cm_backtrace库里面也没有M23内核的配置,使用M3的配置,进入Hardfault打印信息乱码。求一份CortexM23的中文参考手册。
2023-12-15 11 -
关于M480系列的USB HID数据传输实现
本帖最后由chenzhan0428于2023-10-2717:50编辑请问一下各位大佬,M480系列的官方例程USBD_HID_Transfer是如何实现数据的收发呢?有库函数吗?
2023-10-27 10 -
GD32F470 DMA ADC传输问题
GD32F470例程上面为定时器触发的,但是我想使用DMA直接将数据传输到内存,不使用任何触发,但是我测试下来存在问题,数据无法通过DMA进行搬运,各位是否有可供例程参考
2023-09-27 12 -
G32N031
G32N031使用串口中断接受时候USART_INT_RXDNE==1时开始接收,接收完成需要软件手动去清除标志位吗?如果需要是清楚哪个寄存器
2023-08-18 10 -
GD32F450替换STM32F429以太网工作不正常
GD32F450替换STM32F429,在不使用操作系统的情况下以太网初始化可以成功,但网络不能正常运行;在加上FreeRTOS后以太网初始化不成功
2023-08-18 18 -
GD32F427重定向printf无法打印
IAR已经设置library-full。用的是USART2也加入以下代码:intfputc(intch,FILE*f){usart_data_transmit(USART2,(uint8_t)ch);while(RESET==usart_flag_get(USART2,USART_FLAG_TBE));returnch;}发现运行printf时,会卡死在usart_flag_get这个函数里跳不出来。
2023-08-05 17 -
关于GD32F305系列USB和CAN同时使用的问题
最近公司项目需要用到USB和CAN,将USB的数据传输到CAN总线。搜索到的信息如下:1.GD32F303的CAN和USB共享同一块SRAM,所以不能同时使用2.只要带OTG的芯片,它们的CAN和USB是不共享SRAM的3.查阅GD32F303的数据手册,写明了CAN和USB共享SRAM,USB外设占1KB。而GD32F305的数据手册中,找不到共享SRAM的说法了,并且USB外设占了256KB(看起来外设里自带了SRAM)综上所述,GD32F305很有可能是属于USB和CAN可以同时使用的芯片,但我还是不敢百分百确认,于是来问问各位有没有同时用过这俩功能的
2023-07-19 15