-
GD32F407 SPI数据异常
配置GPIOA的567作为SPI0的数据通信,发现每次接收到的数据都是0,示波器测量SPI_CS引脚,发现CS没有完全被拉低就已经被拉高了,飞线到GPIOB的3、4、5作为SPI0,相同的程序,只是修改了IO口,和引脚。可以正常读取SPI从机的数据。
2023-11-09 11 -
F460的I2S的问题?连接ES8388.
学习了例程i2s_record_and_play。有几个地方没看懂。voidBSP_WM8731_TransCompleteCallBack(void){if(0U!=u8TransCompleteFlag){BSP_WM8731_Play(&u32TransBuf[1][0],BSP_WM8731_DMA_BLK_LEN);u8TransCompleteFlag=0U;}else{BSP_WM8731_Play(&u32TransBuf[0][0],BSP_WM8731_DMA_BLK_LEN);u8TransCompleteFlag=1U;}DMA_ClearTransCompleteStatus(BSP_WM8731_DMA_SDIN_UNIT,BSP_WM8731_DMA_SD_INT_CH);}发送完成的DMA中断为什么要清楚接收DMA的传送完成标志。同样接收完成的DMA中断中也清除了发送DMA的传送完成标志。我的程序是这样的。/*INT_SRC_DMA1_TC0Callback.sendtoI2S*/staticvoidINT_SRC_DMA1_TC0_IrqCallback(void){//addyourcodeshereif(0U!=u8TransCompleteFlag){BSP_ES8388_Play(&u32TransBuf[0][0],DMACount);u8TransCompleteFlag=0U;}else{BSP_ES8388_Play(&u32TransBuf[1][0],DMACount);u8TransCompleteFlag=1U;}//DMA_ClearTransCompleteStatus(CM_DMA1,DMA_INT_TC_CH0);}/*INT_SRC_DMA2_TC0Callback.*/staticvoidINT_SRC_DMA2_TC0_IrqCallback(void){//addyourcodeshereif(0U!=u8ReceiveCompleteFlag){BSP_ES8388_Record(&u32ReceiveBuf[0][0],DMACount);//(void)memcpy((uint8_t*)&u32TransBuf[1][0],(uint8_t*)&u32ReceiveBuf[1][0],(BSP_WM8731_DMA_BLK_LEN*4U));u8ReceiveCompleteFlag=0U;}else{BSP_ES8388_Record(&u32ReceiveBuf[1][0],DMACount);//(void)memcpy((uint8_t*)&u32TransBuf[0][0],(uint8_t*)&u32ReceiveBuf[0][0],(BSP_WM8731_DMA_BLK_LEN*4U));u8ReceiveCompleteFlag=1U;}//DMA_ClearTransCompleteStatus(CM_DMA2,DMA_INT_TC_CH0);}DMACount设成了1024,倒是可以采样上了数据。给左右通道输入了正弦波,可以正常采集。但是有一些问题。今天断开了left通道,只给right通道正弦波,发现了一个奇怪的现象,left和right通道采集的数据交替出现正弦波,是哪里发生错位了呢?
2023-10-08 8 -
凌欧LKS081调试电机输出奇异
用凌欧LKS081调试一个12V的有感电机,用的是凌欧提供的无感例程,结果虽然开环强拖能让电机转动,但是切到闭环电机转动几下就会停转,并且在程序运行过程中(无论电机转不转),电机启动标志位和电机运行状态机的数值一直在波动,数值有时候还挺大,rtt数据输出的波形也不正确,请问这是咋回事
2023-08-14 10 -
HK32F030MF4P6无法连接j-link
j-link无法读取到芯片,显示"CannotconnecttoJ-Link.",HKConfig连不上芯片但是电脑的设备管理器可以显示到已连接的端口重新安装驱动已尝试,更换电脑已尝试,数据线在其他人的板子上可以用还有没有其他的解决方式
2023-05-19 22 -
GD32F450RGT6串口5不工作是什么情况?
GD32F450RGT6串口0,串口1,串口2都正常工作,用同样的方式设置串口5就不工作,是什么情况?
2023-01-10 27 -
GD32F105RCT6 64脚 时钟旁路模式, PD1引脚重映射
如题,我将GD32F105RCT6的外部时钟设置为旁路模式后,开启OSCOUT的重映射功能,想要将PD1映射到这个引脚上。程序下载进去后无法没跑起来,并且下次再下载程序时,需要按2次复位按键。同样的程序在STM32F105RCT6中是可以实现的。初始化代码如下望哪位朋友解答下。voidGpioInit(void){__HAL_AFIO_REMAP_PD01_ENABLE();GPIO_InitTypeDefGPIO_InitStruct={0};GPIO_InitStruct.Pin=GPIO_PIN_1;GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull=GPIO_NOPULL;GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOD,&GPIO_InitStruct);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_1,GPIO_PIN_RESET);//OUT12_PIN=H_Level控制EN12脚2#反馈信号}
2023-01-04 11 -
HC32L110的ADC通道AdcAVccDiV3Input不能中断问题
//使用\HC32L110_DDL_Rev1.1.5\example\adc\adc_cont_irq_sw范例改/*******************************************************************************Includefiles******************************************************************************/#include"adc.h"#include"gpio.h"/*******************************************************************************Localpre-processorsymbols/macros('#define')******************************************************************************//*******************************************************************************Globalvariabledefinitions(declaredinheaderfilewith'extern')******************************************************************************//*******************************************************************************Localtypedefinitions('typedef')******************************************************************************//*******************************************************************************Localfunctionprototypes('static')******************************************************************************//*******************************************************************************Localvariabledefinitions('static')*******************************************************************************/staticuint32_tu32AdcResultAcc;/******************************************************************************Functionimplementation-global('extern')andlocal('static')******************************************************************************/voidAdcContIrqCallback(void){//中断标志位判断和清零,已在库函数中处理Adc_IRQHandler();Adc_GetAc
2023-01-04 9 -
基于cmake-openocd调试
使用cmake方式构建GD32F407的开发环境,编译已经通过,使用vscode用openocd烧录调试时,会报下面的错误FailedtolaunchGDB:ErrorerasingflashwithvFlashErasepacket(fromtarget-download),请问有谁遇到过?同样是stm32f407的cmake工程是可以正常调试的
2022-12-02 10 -
GD32 F4硬件I2C总是锁死
1.问题描述买了一个磁力计模块,用杜邦线连接到427start开发板,参考网上各种例程一直失败,要么是ADSEND不置1,要么是I2C总线一直忙,反复置位或者上电重启能读到一次,今天尝试了参考官方EEPROM的延时检测程序,还是没办法实现,求解求解!!2.代码代码1:未加延时检测代码while(i2c_flag_get(I2C1,I2C_FLAG_I2CBSY));printf("I2Cbusisidle\r\n");i2c_start_on_bus(I2C1);while(!i2c_flag_get(I2C1,I2C_FLAG_SBSEND));printf("SBSENDbitisset\r\n");i2c_master_addressing(I2C1,QMC5883L_DEFAULT_ADDRESS,I2C_RECEIVER);while(!i2c_flag_get(I2C1,I2C_FLAG_ADDSEND));printf("ADDSENDbitisset\r\n");i2c_flag_clear(I2C1,I2C_FLAG_ADDSEND);i2c_ack_config(I2C1,I2C_ACK_DISABLE);i2c_stop_on_bus(I2C1);while(!i2c_flag_get(I2C1,I2C_FLAG_RBNE));printf("I2C_FLAG_RBNEbitisset\r\n");chipID=i2c_data_receive(I2C1);printf("0x%u\r\n",chipID);++++++++++++++++++++++++++++++++++++++++++++++++代码2延时检测/*!\filemain.c\briefGPIOrunningleddemo\version2022-04-26,V2.0.0,demoforGD32F4xx*//*Copyright(c)2022,GigaDeviceSemiconductorInc.Redistributionanduseinsourceandbinaryforms,withorwithoutmodification,arepermittedprovidedthatthefollowingconditionsaremet:1.Redistributionsofsourcecodemustretaintheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimer.2.Redistributionsinbinaryformmustreproducetheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimerinthedocumentationand/orothermaterialsprovidedwiththedistribution.3.Neitherthenameofthecopyrightholdernorthenamesofitscontributorsmaybeusedtoendorseorpromoteproductsderivedfromthissoftwarewithoutspecificpriorwrittenpermission.THISSOFTWAREISPROVIDEDBYTHECOPYRIGHTHOLDERSANDCONTRIBUTO
2022-10-22 9 -
华大hc32f460 timer0怎么配置可以使用串口超时中断
使用串口超时中断时,对应的timer0计数时钟怎么选择??
2022-10-06 22 -
GD32F450 ADC稳定度问题
本帖最后由liufreedom2008于2022-8-2409:31编辑请问GD32F450ADC在不采样模式下会跳动几个LSB.输入信号:
2022-08-23 19 -
烧录后正常高速运行,重启电源后只能低转动是什么问题?
Hi我是用AC78013FDLA低压电机demo,烧录使用都一切正常,相同的程序下载到我自己的PCB中,下载后直接运行是正常的,但是重新上电后就只能维持低速转动,请问这是什么问题。(CMSIS已经是最新的了)
2022-08-16 9 -
printf函数不能打印负的浮点数
在MounriverStudio上开发CH32F103时发现printf函数不能打印负的浮点数是怎么回事?
2022-08-15 8 -
关于GD32F507官方例程中的ADC0、ADC1并行采样例程
例程中ADC0的采样结果通过DMA0搬移到adc_value中,但是ADC1的转换结果呢?代码中并没有读取对ADC1的转换结果啊,是我理解错了吗?uint32_tadc_value[2];intmain(void){/*systemclocksconfiguration*/rcu_config();/*systickconfiguration*/systick_config();/*GPIOconfiguration*/gpio_config();/*configureCOMport*/gd_eval_com_init(EVAL_COM0);/*TIMERconfiguration*/timer_config();/*DMAconfiguration*/dma_config();/*ADCconfiguration*/adc_config();/*enableTIMER1*/timer_enable(TIMER1);while(1){delay_1ms(1000);printf("\nadc_value[0]=%08X\n",adc_value[0]);printf("\nadc_value[1]=%08X\n",adc_value[1]);printf("\n*******************\n");}}/*!\briefconfigurethedifferentsystemclocks\paramnone\param[out]none\retvalnone*/voidrcu_config(void){/*enableGPIOclock*/rcu_periph_clock_enable(RCU_GPIOA);rcu_periph_clock_enable(RCU_GPIOC);/*enableADC0clock*/rcu_periph_clock_enable(RCU_ADC0);/*enableADC1clock*/rcu_periph_clock_enable(RCU_ADC1);/*enableDMA0clock*/rcu_periph_clock_enable(RCU_DMA0);/*enabletimer1clock*/rcu_periph_clock_enable(RCU_TIMER1);/*configADCclock*/rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV6);}/*!\briefconfiguretheGPIOperipheral\paramnone\param[out]none\retvalnone*/voidgpio_config(void){/*configtheGPIOasanalogmode*/gpio_init(GPIOA,GPIO_MODE_AIN,GPIO_OSPEED_MAX,GPIO_PIN_0);gpio_init(GPIOC,GPIO_MODE_AIN,GPIO_OSPEED_MAX,GPIO_PIN_0);}/*!\briefconfiguretheDMAperipheral\paramnone\param[out]none\retvalnone*/voiddma_config(void){/*ADC_DMA_channelconfiguration*/dma_parameter_structdma_data_parameter;/*ADCDMA_channelconfiguration*/dma_deinit(DMA0,DMA_CH0);/*initializeDMAdatamode*/dma_data_parameter.periph_addr=(
2022-08-12 8 -
GD32F407使用HAL库操作U盘
GD32F407,使用HAL库操作U盘,可以正常识别成功,读取文件时读取几包后必然失败,这是什么原因!使用STM32F407测试是,同一程序正常。如一个文件为100K大小,打开文件后每次读取1K数据,读取24包后必然失败。
2022-07-12 43