问答

汇集网友智慧,解决技术难题

tpgf

TA的家园币:14353  

  • GD32E507V-START USART0 收到数据是乱码

    1购买的GD32E507V-START开办版2使用提供demo程序GD32E50x_Demo_Suites_V1.3.1\GD32E507V_START_Demo_Suites\Projects\04_USART_HyperTerminal_InterruptUSART0的配置:staticvoidusart_config(void){/*enableGPIOclock*/rcu_periph_clock_enable(RCU_GPIOB);/*enableUSARTclock*/rcu_periph_clock_enable(RCU_USART0);/*enableAFclock*/rcu_periph_clock_enable(RCU_AF);/*remapUSART0_TXtoPB6,USART0_RXtoPB7*/gpio_pin_remap_config(GPIO_USART0_REMAP,ENABLE);/*connectporttoUSARTx_Tx*/gpio_init(GPIOB,GPIO_MODE_AF_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_6);/*connectporttoUSARTx_Rx*/gpio_init(GPIOB,GPIO_MODE_IN_FLOATING,GPIO_OSPEED_50MHZ,GPIO_PIN_7);/*USARTconfigure*/usart_deinit(USART0);usart_word_length_set(USART0,USART_WL_8BIT);usart_stop_bit_set(USART0,USART_STB_1BIT);usart_parity_config(USART0,USART_PM_NONE);usart_baudrate_set(USART0,115200U);usart_receive_config(USART0,USART_RECEIVE_ENABLE);usart_transmit_config(USART0,USART_TRANSMIT_ENABLE);usart_enable(USART0);}3把demo中USART0:PB_06接到9针串口线的2脚PB_07接到9针串口线的3脚9针串口线的5脚接到开发板的GND4串口调试助手:收到数据是乱码串口调试助手设置:1152008位数据位1位停止位无校验位无流控请教下各位大佬,为啥是乱码?发送数据是:0x00,......,0xFF;收到数据是:00FDFBF9F7F5F1,......0180

  • GD32E507V开发板 USART0收到数据是乱码

    1使用源码:GD32E50x_Demo_Suites_V1.3.1\GD32E507V_START_Demo_Suites\Projects\04_USART_HyperTerminal_Interrupt\MDK-ARM\GD32E507V_START\程序没有做任何修改;2根据main函数中定义:usart_config();/*enableGPIOclock*/rcu_periph_clock_enable(RCU_GPIOB);/*enableUSARTclock*/rcu_periph_clock_enable(RCU_USART0);/*enableAFclock*/rcu_periph_clock_enable(RCU_AF);/*remapUSART0_TXtoPB6,USART0_RXtoPB7*/gpio_pin_remap_config(GPIO_USART0_REMAP,ENABLE);/*connectporttoUSARTx_Tx*/gpio_init(GPIOB,GPIO_MODE_AF_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_6);/*connectporttoUSARTx_Rx*/gpio_init(GPIOB,GPIO_MODE_IN_FLOATING,GPIO_OSPEED_50MHZ,GPIO_PIN_7);/*USARTconfigure*/usart_deinit(USART0);usart_word_length_set(USART0,USART_WL_8BIT);usart_stop_bit_set(USART0,USART_STB_1BIT);usart_parity_config(USART0,USART_PM_NONE);usart_baudrate_set(USART0,115200U);usart_receive_config(USART0,USART_RECEIVE_ENABLE);usart_transmit_config(USART0,USART_TRANSMIT_ENABLE);usart_enable(USART0);3:外接USB-RS232的9针串口线。PB_6接到9针串口线的2脚PB_7接到9针串口线的3脚9针串口线的5脚连到开发板的GND4打开串口调试工具,接收到数据是乱码;5源程序中的Tx的发送数据是:uint8_ttx_buffer[]={0x00,。。。。,0xFF}问下,是什么原因造成demo收到数据是乱码?

    2023-12-13 13
  • MM32SPIN06的IWDG中断不生效

    MM32SPIN06的IWDG中断不生效,已经配置IWDG溢出后产生中断,NVIC中使能IWDG中断,可是IWDG溢出后没有产生中断,而是复位了MCU

    MUC 单片机 技术交流

    2023-11-30 10
  • 华大HC32F030 Keil MDK工程使用J-Link RTT Viewer问题

    按照网上的教程,华大HC32F030J8TA成功的使用J-LinkRTTViewe打印了数据,但是添加了UART0接收与发送功能后,KeilMDK发现程序不停地看门狗复位。但是在IAR下的工程就是正常的,请问大家有没有遇到过这样的问题,或是KeilMDK下要特殊设置?谢谢大家了。

    华大

    2023-11-28 9
  • PIC16F72 的ASM源码编译错误

    本帖最后由大大的木头于2023-11-2715:25编辑如题,编译出错。output如下:是缺少P16F72.INC文件吧,能提供一下吗?其它还有什么问题?感谢!

    2023-11-27 10
  • GD32F407 SPI数据异常

    配置GPIOA的567作为SPI0的数据通信,发现每次接收到的数据都是0,示波器测量SPI_CS引脚,发现CS没有完全被拉低就已经被拉高了,飞线到GPIOB的3、4、5作为SPI0,相同的程序,只是修改了IO口,和引脚。可以正常读取SPI从机的数据。

    2023-11-09 11
  • 华大HC32L130J8TA,UART1+DMA功能正常,换成UART0就用不了了,什么原因?

    本帖最后由breakP于2023-11-210:27编辑直接用的例程,这是UART1+DMA可以正常使用,但是换成UART0就不行了,接线,参数都检查过了int32_tmain(void){//uart端口配置App_UartPortInit();//UART模块配置App_UartCfg();//DMA参数配置App_DmaCfg();while(1){if(5==Dma_GetStat(DmaCh0))//完成一次通道传输(UART1_RX->RAM缓存2字节){Dma_DisableChannel(DmaCh0);//禁用通道0delay10us(100);Dma_EnableChannel(DmaCh1);//使能通道1Dma_ClrStat(DmaCh0);//清除通道0状态值}if(5==Dma_GetStat(DmaCh1))//完成一次通道传输(RAM缓存->UART1_TX2字节){Dma_DisableChannel(DmaCh1);//禁用通道1Dma_EnableChannel(DmaCh0);//使能通道0Dma_ClrStat(DmaCh1);//清除通道0状态值}}}//UART模块配置voidApp_UartCfg(void){stc_uart_cfg_tstcCfg;stc_uart_baud_tstcBaud;DDL_ZERO_STRUCT(stcCfg);//初始化变量DDL_ZERO_STRUCT(stcBaud);//初始化变量Sysctrl_SetPeripheralGate(SysctrlPeripheralUart1,TRUE);//使能UART1外设时钟门控开关stcCfg.enRunMode=UartMskMode1;//模式3stcCfg.enStopBit=UartMsk1bit;//1位停止位stcCfg.stcBaud.u32Baud=9600;//波特率9600stcCfg.stcBaud.enClkDiv=UartMsk8Or16Div;//通道采样分频配置stcCfg.stcBaud.u32Pclk=Sysctrl_GetPClkFreq();//获得外设时钟(PCLK)频率值Uart_Init(M0P_UART1,&stcCfg);//串口初始化Uart_ClrStatus(M0P_UART1,UartRC);//清接收请求Uart_ClrStatus(M0P_UART1,UartTC);//清发送请求Uart_EnableFunc(M0P_UART1,UartDmaTxFunc);//使能DMA发送,DMA相关通道使能后,如果TxBuff为空,会立马启动传输Uart_EnableFunc(M0P_UART1,UartDmaRxFunc);//使能DMA接收}//DMA参数配置voidApp_DmaCfg(void){stc_dma_cfg_tstcDmaCfg;DDL_ZERO_STRUCT(stcDmaCfg);//初始化变量Sysctrl_SetPeripheralGate(SysctrlPeripheralDma,TRUE);//使能DMAC外设时钟门控开关//rxdma配置stcDmaCfg.u32SrcAddres

  • HC32L130 UART通讯修改波特率乱码

    例程设置的9600正常,改成115200为什么会乱码,还有什么没改??求教

    2023-10-27 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通道采集的数据交替出现正弦波,是哪里发生错位了呢?

    F460 I2S 左右错位

    2023-10-08 8
  • gd32l23cct6 硬件i2c 等待TI / RBNE标志位超时

    gd32l23cct6芯片在硬件i2c读写过程中会偶尔出现write函数在TI标志位超时跳出,read函数在RBNE标志位超时跳出,TIMEOUT时间测试200ms+,在这两个标志位超时异常跳出导致i2c通信时序缺少stop位,bsy标志位一直位1,i2c再也无法继续通信,一定要通过复位i2c外设才能解决。硬件i2c驱动代码去下intgd32_i2c_write(unsignedcharbus,unsignedshortaddr,unsignedchar*data,unsignedintdata_len){drv_i2c_mgr_t*i2c_mgr=NULL;unsignedinttimeout=DRV_I2C_TIME_OUT;unsignedintidx;if(bus>=DRV_I2C_BUS_MAX){return-1;}i2c_mgr=&s_st_i2c_mgr;if(0==i2c_mgr->is_init){return-1;}/*waituntilI2Cbusisidle*/timeout=DRV_I2C_TIME_OUT;i2c_master_addressing(i2c_mgr->periph,addrperiph,data_len);while(i2c_flag_get(i2c_mgr->periph,I2C_FLAG_I2CBSY)){if((timeout--)==0){return-1;}}/*sendastartconditiontoI2Cbus*/timeout=DRV_I2C_TIME_OUT;i2c_start_on_bus(i2c_mgr->periph);/*waituntilthetransmitdatabufferisempty*/I2C_STAT(i2c_mgr->periph)|=I2C_STAT_TBE;while(!i2c_flag_get(i2c_mgr->periph,I2C_FLAG_TBE)){if((timeout--)==0){return-1;}}for(idx=0;idx<data_len;idx++){/*datatransmission*/timeout=DRV_I2C_TIME_OUT;i2c_data_transmit(i2c_mgr->periph,data);while(!i2c_flag_get(i2c_mgr->periph,I2C_FLAG_TI)){if((timeout--)==0){LOG_DIRECT_ERR("ti\r\n");return-1;}}}timeout=DRV_I2C_TIME_OUT;while(!i2c_flag_get(i2c_mgr->periph,I2C_FLAG_TC)){if((timeout--)==0){return-1;}}/*sendastopconditiontoI2Cbus*/i2c_stop_on_bus(i2c_mgr->periph);/*waituntilstopconditiongenerate*/while(!i2c_flag_get(i2c_mgr->periph,I2C_FLAG_STPDET)){if((timeout--)==0){return-1;}}/*cleartheSTPDETbit*/i2c_flag_clear(i2c_mgr->periph,I2C_FLAG_STPDET);return0;}intgd32_i2c_read(unsignedcharbus,unsignedsh

    GD32 I2c

    2023-09-21 11
  • 凌欧LKS081调试电机输出奇异

    用凌欧LKS081调试一个12V的有感电机,用的是凌欧提供的无感例程,结果虽然开环强拖能让电机转动,但是切到闭环电机转动几下就会停转,并且在程序运行过程中(无论电机转不转),电机启动标志位和电机运行状态机的数值一直在波动,数值有时候还挺大,rtt数据输出的波形也不正确,请问这是咋回事

    技术交流

    2023-08-14 10
  • LKS081控制12V电机不能一直转

    用LKS081控制一个12V电机,程序是凌欧提供的无感FOC例程,通电后,电机转动不到3秒就不转了,重新上电后重复这个情况,请问这是咋回事?

    技术交流

    2023-08-08 46
  • 求助!STM32F103位带操作代码转成雅特力AT32F421代码

    以下两行代码是STM32F103的写法?请教大师转成雅特力AT32F421的怎么写?//把PA7(MOSI)配置成开漏--输入模式#defineSPI_TX_OFF{GPIOA->CRL&=0x0FFFFFFF;GPIOA->CRL|=0x40000000;}//把PA7(MOSI)配置成推挽--输出模式(50MHz)#defineSPI_TX_ON{GPIOA->CRL&=0x0FFFFFFF;GPIOA->CRL|=0xB0000000;}

  • HK32F030MF4P6无法连接j-link

    j-link无法读取到芯片,显示"CannotconnecttoJ-Link.",HKConfig连不上芯片但是电脑的设备管理器可以显示到已连接的端口重新安装驱动已尝试,更换电脑已尝试,数据线在其他人的板子上可以用还有没有其他的解决方式

    单片机

    2023-05-19 21
  • AT32F407F8T7 SWD不识别

    这是我做的一个AT32F407F8T7的一块板子,外围电路如下,但是焊接后SWD识别不到内核,请问有大佬知道什么原因吗?

    MUC 单片机

    2023-04-21 28