问答

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

申小林一号

TA的家园币:1165  

  • 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 14
  • GD32F470 SPI DMA接收

    spi2配置没问题,可以正常使用,但是加上dma,发现dma没有开启,有没有大佬告诉我一下,我下面的代码配置哪里有问题,找了好久找不出来,谢谢谢谢!!!uint8_tspi2_tx_buf[6]={0};uint8_tspi2_rx_buf[6]={0};voidDMA0_CH0_Config()//spi——RX{dma_single_data_parameter_structdma_init_spi2_rx;rcu_periph_clock_enable(RCU_DMA0);dma_deinit(DMA0,DMA_CH0);dma_init_spi2_rx.direction=DMA_PERIPH_TO_MEMORY;dma_init_spi2_rx.memory0_addr=(uint32_t)(spi2_rx_buf);//存储器地址dma_init_spi2_rx.memory_inc=DMA_MEMORY_INCREASE_ENABLE;dma_init_spi2_rx.periph_addr=(uint32_t)&SPI_DATA(SPI2);dma_init_spi2_rx.periph_inc=DMA_PERIPH_INCREASE_DISABLE;dma_init_spi2_rx.periph_memory_width=DMA_PERIPH_WIDTH_8BIT;dma_init_spi2_rx.number=sizeof(spi2_rx_buf);dma_init_spi2_rx.priority=DMA_PRIORITY_ULTRA_HIGH;dma_init_spi2_rx.circular_mode=DMA_CIRCULAR_MODE_DISABLE;dma_single_data_mode_init(DMA0,DMA_CH0,&dma_init_spi2_rx);dma_channel_subperipheral_select(DMA0,DMA_CH0,DMA_SUBPERI4);dma_memory_address_config(DMA0,DMA_CH0,DMA_MEMORY_0,(uint32_t)(spi2_rx_buf));//存储器地址dma_transfer_number_config(DMA0,DMA_CH0,sizeof(spi2_rx_buf));dma_channel_enable(DMA0,DMA_CH0);spi_dma_enable(SPI2,SPI_DMA_RECEIVE);}

    2023-11-01 55
  • GD32E503写入部分寄存器会失败

    使用GD官方库做STM32F103的移植,对应的寄存器的命名方式都采用了官方库的形式。测试时发现每次重新上电AFIO_PCF0寄存器设置失败、I2C启动信号(第8bitstart)置位失败、RTC的频率写入失败。如果增加写入操作次数第一次写入失败,第二次写入成功。目前查到了这些异常,相关的外设配置没有发现问题,有大佬知道这是怎么回事吗?

  • CAN总线加上120欧姆电阻就无法通信

    用TJA1050按照网上电路加上120欧姆电阻,但是无法通信,后来去掉电阻就能通信,这是什么原因?总线很短只是做实验。

  • 为啥国产单片机普遍没有16位ADC

    本帖最后由呐咯密密于2021-3-113:33编辑在使用高分辨率ADC时,以前一直用飞思卡尔的MKV30,现在因为飞思卡尔被恩智浦收购,导致这款芯片的技术支持很难获得,开发难度大,而且供货也不稳定,但是缺找不到任何一款国产单片机来替代,为什么厂商们都不做高分辨率的ADC,是市场不好,用得少,还是什么技术问题呢?用超采样来牺牲速度以达到高精度的不能算。SIGMA-DELTA类型的就不能算。