问答

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

21ic问答首页 - TAG - GD32F303
  • 求助!!!STM32F103VET6 可以和GD32F303的哪款系列 PIN TO PIN吗

    [i=s] 本帖最后由 tyw 于 2024-5-11 15:21 编辑 [/i] 如上,想找个PIN TO PIN STM32F103VET6的,有没有 性能比较好的以及现在比较主流的GD32型号的芯片?求助各位大神!! [attach]2251810[/attach] [attach]2251812[/attach] [size=2][color=#ffffff][backcolor=purple] tyw 注[/backcolor][/color][/size]

    top AC STM32F103VET6 pi GD32F303 国产芯片

    829浏览量 4回复量 关注量
  • GD32F303CBT6U的OSCIN和OSCOUT管脚复用

    [align=left][color=#1F497D][font=DengXian]目前在研究一些[/font][/color][color=#1F497D]GD32F303CBT6U[/color][color=#1F497D][font=DengXian]的产品内容,有一些疑问请帮忙解答下。[/font][/color][/align][align=left][color=#1f497d]OSCIN[/color][color=rgb(31, 73, 125)][font=DengXian]和[/font][/color][color=#1f497d]OSCOUT[/color][color=rgb(31, 73, 125)][font=DengXian]引脚可以重映射为[/font][/color][color=#1f497d]PD0[/color][color=rgb(31, 73, 125)][font=DengXian]和[/font][/color][color=#1f497d]PD1[/color][color=rgb(31, 73, 125)][font=DengXian],进而我会理解为:重映射后的[/font][/color][color=#1f497d]PD0[/color][color=rgb(31, 73, 125)][font=DengXian]和[/font][/color][color=#1f497d]PD1[/color][color=rgb(31, 73, 125)][font=DengXian]可根据需要设置为输入或者输出的功能。[/font][/color][/align][align=left][color=#1F497D][font=DengXian]但这两个的引脚类型却是只有[/font][/color][color=#1F497D]I[/color][color=#1F497D][font=DengXian](输入)和[/font][/color][color=#1F497D]O[/color][color=#1F497D][font=DengXian](输出)。[/font][/color][/align][align=left][color=#1F497D][font=DengXian]请帮确认下是哪种情况?[/font][/color] [/align]

    pd os 管脚 复用 SC GD32F303

    840浏览量 1回复量 关注量
  • GD32F303 USBD时钟选择

    [i=s] 本帖最后由 tyw 于 2024-4-18 08:24 编辑 [/i] 例程中USB时钟用的是系统时钟,手册中有个48M的专用时钟,怎么设置用这个呢? [attach]2242796[/attach] [attach]2242798[/attach] [size=2][color=#ffffff][backcolor=purple] tyw 注[/backcolor][/color][/size]

    选择 USBD 时钟 GD32F303

    636浏览量 1回复量 关注量
  • 大神们,谁知道GD32F303的CRC32的算法代码

    GD32F303CCT6与PC通讯,打算使用GD32F303CCT6自带的硬件CRC对数据块校验,PC端对应的算法是怎样的?

    GD32F303cct6 pc 代码 GD32F303 CRC

    1205浏览量 1回复量 关注量
  • GD32F303 循环扫描模式 DMA 与 ADC 获取DMA数据错位 sos

    GD32F303 循环扫描模式 DMA 与 ADC 获取DMA数据错位

    获取 GD32F303 DMA ADC

    1139浏览量 0回复量 关注量
  • GD32F303问题

    [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]问题背景是这样的:[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]配置了一个20Khz的定时器溢出中断,System_cnt_add()函数是对一个变量++,就是创建了一个时间基准。然后在Task_time_slice_function()函数里面实现了一个led每0.5s翻转的任务。[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]于是遇到了这样一个问题:[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]当我把这个Task_time_slice_function()函数放在中断的时候,led能够正常实现每0.5s翻转的操作,也就是输出一个1Hz的方波。但是当我把Task_time_slice_function()函数放在main函数的while循环里面时,功能就失效了,变成输出32Hz的方波。有没有人知道怎么回事,希望能指点一下,谢谢![/size][/font][/backcolor][/color][font=Tahoma, Microsoft Yahei, Simsun][color=#444444][size=16px] [/size][/color][/font][color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]这是用到的几个函数[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]int main(void)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]{[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] Systemclock_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] nvic_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] gpio_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] spi2_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] timer_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] System_cnt_init();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] while(1)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] Task_time_slice_function();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]}[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]/* time0 20kHz*/[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]void TIMER0_UP_IRQHandler(void)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]{ [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(SET == timer_interrupt_flag_get(TIMER0, TIMER_INT_UP))[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] timer_interrupt_flag_clear(TIMER0, TIMER_INT_FLAG_UP);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] System_cnt_add();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]}[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]void Task_time_slice_function(void)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]{[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] /* 1ms */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_1ms) >= systemclock_data.systemclock_cnt_1ms)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] systemclock_data.systemclock_lastcnt_1ms = systemclock_data.systemclock_cnt;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] led_main();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] /* 10ms */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_10ms) >= systemclock_data.systemclock_cnt_10ms)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] systemclock_data.systemclock_lastcnt_10ms = systemclock_data.systemclock_cnt;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] /* 100ms */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_100ms) >= systemclock_data.systemclock_cnt_100ms)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] systemclock_data.systemclock_lastcnt_100ms = systemclock_data.systemclock_cnt;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] /* 1000ms */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_1000ms) >= systemclock_data.systemclock_cnt_1000ms)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] systemclock_data.systemclock_lastcnt_1000ms = systemclock_data.systemclock_cnt;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]}[/size][/font][/backcolor][/color]

    TE GD32F303 ST sy System syste

    1615浏览量 3回复量 关注量
  • GD32F303问题

    问题背景是这样的: 配置了一个20Khz的定时器溢出中断,System_cnt_add()函数是对一个变量++,就是创建了一个时间基准。然后在Task_time_slice_function()函数里面实现了一个led每0.5s翻转的任务。 于是遇到了这样一个问题: 当我把这个Task_time_slice_function()函数放在中断的时候,led能够正常实现每0.5s翻转的操作,也就是输出一个1Hz的方波。但是当我把Task_time_slice_function()函数放在main函数的while循环里面时,功能就失效了,变成输出32Hz的方波。有没有人知道怎么回事,希望能指点一下,谢谢!

    GD32F303 TI 函数 IO ic ICE

    915浏览量 1回复量 关注量
  • GD32F303 RTC闹钟

    为什么我的GD32F303 RTC闹钟的无法设置,RTC其他功能正常;1、设置方法按照手册,使用 库函数设置,但是设置完成之后RTC_ALRMH和RTC_ALRML两个寄存器的值还是0 void rtc_alarm_config(uint32_t alarm) { rtc_configuration_mode_enter(); /* set the alarm high bits */ RTC_ALRMH = alarm >> 16; /* set the alarm low bits */ RTC_ALRML = (alarm & RTC_LOW_VALUE); rtc_configuration_mode_exit(); } 2、手册上说RTC_ALRMH和RTC_ALRML两个寄存器复位值是0xFFFF,但实际是0

    GD32F303 RTC ARM CONFIG ratio IO

    3474浏览量 3回复量 关注量
  • GD32F103C8T6与GD32F303CCT6代码兼容吗

    请教一下GD32F103C8T6与GD32F303CCT6代码兼容吗?不兼容的话需要改哪些东西呢

    代码 GD32F303 gd32f103c8t6 gd32F103 gd32f1

    4161浏览量 1回复量 关注量
  • GD32F303串口不能产生空闲中断

    初次使用GD32F303芯片,以为没什么难度呢结果一上来就碰到问题了,串口不能产生空闲中断 看看我的代码是否有错 void NVIC_swtConfiguration(void) { /* USART interrupt configuration */ nvic_irq_enable(MY_USART_IRQ, 1, 0); usart_interrupt_enable(MY_USART, USART_INT_IDLE); /* enable USART TBE interrupt */ usart_interrupt_enable(MY_USART, USART_INT_RBNE); } // 配置通信端口 void funcSerialConfig(void) { // /* Enable GPIO clock rcu_periph_clock_enable(MYRCC_USART_PORT); rcu_periph_clock_enable(MYRCC_USART); /* connect port to USARTx_Tx */ gpio_init(MY_USART_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, MY_USART_TX_PIN); /* connect port to USARTx_Rx */ gpio_init(MY_USART_PORT, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, MY_USART_RX_PIN); usart_deinit(MY_USART); usart_baudrate_set(MY_USART, 115200); usart_receive_config(MY_USART, USART_RECEIVE_ENABLE); usart_transmit_config(MY_USART, USART_TRANSMIT_ENABLE); NVIC_swtConfiguration(); usart_enable(MY_USART); waitForSend = 1; swt_RxCounter = 1; usart_direct_send_data((const uint8_t*)"GD32F303VCT6 IDLE INT", 21); } 中断函数 void UART3_IRQHandler(void) { uint16_t RxChar; if((RESET != usart_interrupt_flag_get(MY_USART, USART_INT_FLAG_RBNE)) && (RESET != usart_flag_get(MY_USART, USART_FLAG_RBNE))){ RxChar = (usart_data_receive(MY_USART) & 0xfF); /* receive data */ #if (ENABEL_DMA_TRANS == 0) swt_recArray[swtRecieved][swt_RxCounter++] = RxChar; if(swt_RxCounter >= EP_PACKET_MAX_SIZE) { usart_dma_irq_reciev_cb(); } #endif usart_flag_clear(MY_USART, USART_FLAG_RBNE); } [color=#f000f0] if((RESET != usart_flag_get(MY_USART, USART_FLAG_IDLE)) && [/color] [color=#f000f0] (RESET != usart_interrupt_flag_get(MY_USART, USART_INT_IDLE)))[/color] [color=#f000f0] {[/color] [color=#f000f0] RxChar = (usart_data_receive(MY_USART) & 0xfF);[/color] [color=#f000f0] usart_dma_irq_reciev_cb();[/color] [color=#f000f0] }[/color] if((RESET != usart_flag_get(MY_USART, USART_FLAG_TBE)) && (RESET != usart_interrupt_flag_get(MY_USART, USART_INT_TBE))) { // usart_interrupt_flag_clear(MY_USART, USART_INT_TBE); /* transmit data */ usart_data_transmit(MY_USART, swt_waitForsendArr[swt_currTxPointer][txPointer++]); if(txCounter == txPointer){ usart_interrupt_disable(MY_USART, USART_INT_TBE); } usart_flag_clear(MY_USART, USART_FLAG_TBE); } if((RESET != usart_flag_get(MY_USART, USART_FLAG_TC)) && (RESET != usart_interrupt_flag_get(MY_USART, USART_INT_TC))) { usart_interrupt_flag_clear(MY_USART, USART_INT_TC); usart_dma_send_finish_cb(); usart_flag_clear(MY_USART, USART_FLAG_TC); } } 当接收一批数据后,中断函数中红色这部分空闲中断代码不会执行,没找到什么原因。 有哪位大咖能指点一二。非常感谢

    串口 GD32F303 USART SAR TE se

    4275浏览量 3回复量 关注量
  • GD32F303替换STM32F303,使用ST的HAL库去编辑代码,不能运行

    [i=s] 本帖最后由 wingsun1037 于 2021-5-15 12:57 编辑 [/i] 之前使用GD32F407替换STM32F407,使用的是ST的HAL库去编辑代码,可以移植到GD的上去,但使用GD32F303CCT6就不行,是GD32F303就不兼容STM32F303的库了吗,请问有哪位大神了解?

    代码 STM32F303 GD32F303 移植

    2708浏览量 3回复量 关注量
  • GD32F303的硬件IIC做从机怎么弄啊?

    最近需要用GD32F303来替换stm32f103vct6,之前是使用stm32的硬件IIC做从机,现在需要换到GD32的芯片来做产品,代码移植后发现IIC没有反应,在网上找了移植手册更改了IIC部分发现没有用,是有什么地方没有改到吗?目前还是使用的stm32的库。请大家帮帮忙

    GD32F303 硬件iic ST STM STM32 移植

    4188浏览量 2回复量 关注量
  • GD32F303RCT6移植emwin后的问题 sos

    [color=#444444][backcolor=rgb(239, 245, 249)][font=Tahoma, "][size=16px]GD32F303RCT6移植emwin后,可以正常显示,但旋转多边形用GUI_RotatePolygon(Param.aPoints, _aPointerHiRes, countof(_aPointer), Angle);后[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(239, 245, 249)][font=Tahoma, "][size=16px]无论怎么改变角度,最后多没有旋转,怎么解决[/size][/font][/backcolor][/color]

    emWin GD32F303 rc 移植 point

    1280浏览量 0回复量 关注量
  • 请教GD32F303RCT6ADC在1.5M下采集频偏为2K左右

    GD32F303RCT6在外部晶振为8M系统主频为120M时,ADC采样率配置为1.5M采集信号发生器150K信号,做FFT变换时频偏为2K左右

    ADC GD32F303 rc 信号 FFT变换

    812浏览量 2回复量 关注量
  • gd32f303做从机,两路SPI接收来自射频芯片的数据不是轮流接收 sos

    gd32f303做从机,两路SPI接收来自射频芯片(主机)的数据,但是两路SPI不是依次,轮流接收,大家有遇到这种问题吗?有什么解决思路可以提供吗?(因为标题超过字数限制,所以把标题内容放到了第一段) 用的是303的SPI1 和SPI2 ,同时接收射频芯片发送的数据(一发两收)。理论上来说,应该是两个通道轮流接收的,相当于1通道接收一次2通道接收一次,121212这样轮流来。但是事实是,SPI2接收的帧数比SPI1多,SPI2接收了几次,SPI1才接收一次,做不到轮流来。想请教下站内大佬,有没有什么思路可以提供?万分感谢。

    spi 射频芯片 GD32F303

    1674浏览量 0回复量 关注量
12下一页