问答

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

21ic问答首页 - TAG - GD32
  • GD32开启Ucos-ii后,进行浮点运算会导致HardFault_Handler

    1、GD32已经开启浮点运算了,查询[font="][size=10.5pt]0xE000ED88[/size][/font][font=宋体][size=10.5pt]地址的值是[/size][/font][font="][size=10.5pt]0x00f00000,不开启UCOS-II情况下可以进行浮点运算;[/size][/font][font="][size=10.5pt]2、ucos-ii为\RTOS Demo\GD32307C_EVAL\uCOS_II_key配置,不开启浮点运算可以正常进行任务运行和切换等;[/size][/font] [font="][size=10.5pt]麻烦大佬们给点意见,谢谢了[/size][/font]

    UCOS-II FPU 浮点运算 Handler HardFault UCOS-II

    3122浏览量 3回复量 关注量
  • stm32f4芯片移植到gd32f4时钟的相关问题 sos

    我查阅gd32官方的移植手册时,发现gd32的时钟和stm32有一些差别,stm32库中好像没有IRC16M,HXTAL这样的时钟。因为源代码不是本人所写,本人技术也欠佳,一时间也不知道如何是好。于是就来求助各位大神,尽可能还是用stm32的库函数吧。多谢各位了!!

    嵌入式 STM32F4 时钟 移植 芯片 代码

    2610浏览量 0回复量 关注量
  • GD32F103CBT6 SPI问题

    在使用GD32时,SPI配置为从站,采用SPI完成中断接收数据,但只要在时钟线多了一个干扰信号,读取到的数据就会整体偏移,导致数据错乱,重启SPI也无法恢复。如果在无干扰环境下都是正常的,长期测试都不会掉线。同样的程序在STM32上运行正常。 目前测试只有软重启可以恢复,还有什么其他办法吗?

    MUC GD32 spi gd32F103

    4950浏览量 1回复量 关注量
  • GD32F103 AD采样问题

    GD32F103 IO口设置成模拟输入时,发现IO口有高电平输出,导致ad采样电压偏高,不知道怎么解决?

    AD采样 AD采样 gd32F103 IO 模拟 电压

    13621浏览量 15回复量 关注量
  • GD32E103RBT6 STLINK烧录的,烧录成功,程序不运行

    #define __SYSTEM_CLOCK_IRC8M (uint32_t)(__IRC8M) int main(void) { systick_config(); /* enable the LED2 GPIO clock */ rcu_periph_clock_enable(RCU_GPIOB); gpio_init(LED_RED_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,LED_RED_GPIO); gpio_init(LED_BLUE_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,LED_BLUE_GPIO); LED_RED_ON; LED_BLUE_ON; rcu_periph_clock_enable(RCU_GPIOC); gpio_init(FeedDog_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,FeedDog_GPIO); while(1){ //FeedDog(); LED_RED_ON; LED_BLUE_ON; delay_1ms(1000); LED_RED_OFF; LED_BLUE_OFF; delay_1ms(1000); } } 自己建的keil5工程,用的官方库,设置成了内部8M晶振,程序就是点个LED灯。结果发现编译成功,烧录成功就是等不亮。偶尔发现在烧录瞬间等会量一下,烧录完成后等会亮一下很快就没有任何反映了

    GD32 烧录 STLINK gp pi IO

    3428浏览量 3回复量 关注量
  • GD32f450 替换 stm32f427 串口7 部分乱码 sos

    电脑用串口工具测试 串口通信都是正常的,在板子上和esp32的通信就出问题。这是日志。 有没有遇到同样问题朋友啊 ###NextPage[title=gd32]### b'\x1b[0;32mI (458) cpu_start: Pro cpu up.\x1b[0m\r\n' b'\x1b[0;32mI (458) cpu_start: Application information:\x1b[0m\r\n' b'\x1b[0;32mI (458) cpu_start: Compile time: Dec 20 2019 07:50:41\x1b[0m\r\n' b'\x1b[0;32mI (461) cpu_start: ELF file SHA256: 0000000000000000...\x1b[0m\r\n' b'\x1b[0;32mI (467) cpu_start: ESP-IDF: v3.3\x1b[0m\r\n' b'\x1b[0;32mI (472) cpu_start: Starting app cpu, entry point is 0x40083600\x1b[0m\r\n' b'\x1b[0;32mI (0) cpu_start: App cpu up.\x1b[0m\r\n' b'\x1b[0;32mI (482) heap_init: Initializing. RAM available for dynamic allocation:\x1b[0m\r\n' b'\x1b[0;32mI (489) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM\x1b[0m\r\n' b'\x1b[0;32mI (495) heap_init: At 3FFBA488 len 00025B78 (150 KiB): DRAM\x1b[0m\r\n' b'\x1b[0;32mI (501) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM\x1b[0m\r\n' b'\x1b[0;32mI (508) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM\x1b[0m\r\n' b'\x1b[0;32mI (514) heap_init: At 40092D6C len 0000D294 (52 KiB): IRAM\x1b[0m\r\n' b'\x1b[0;32mI (520) cpu_start: Pro cpu start user code\x1b[0m\r\n' b'\x1b[0\xa7&\xa6+\n' [b][color=#f00000]这里开始 乱码[/color][/b] b'B\x92\x82\x9aJ\x02\x1a\xc1\xd5}\xcd\xd1art: Chip RYWk\xa5\xbd\xb9\xe9 L\xa3+j5\n' b'\xa3+\xda\x9a\x9aj]\x81(204) ,u_start: Chip revision i.B\xa5\x9d\xa1\x95\xc9\x81than the one \xac\xcb\xcb\xa5\x9dured in menuconfig. \xaa\xd7\xd6V\xd6\xd1\x81to upgrade Z\x97i\xb4\x05j5\n' b'\xa3+\xda\x9a\x92j%\x81(207) cpu_start: Starting s,\xab\x91\xd5\xb1\x95r on PRO CPU.\x1b[0m\r\n' b'\x1b+\xda\x9a\x92jI (0) cpu_start: *W\xc9\xd1ing s,\xab\x91\xd5\xb1\x95\xc9 on P\x05\x05\x1aAU\xb9\x1b[0m\r\n' b'\xa3+\xda\x9a\x92j%\x81(180) [\x8bskket: InitiX+K\xa5\xb9g\x1b[0[H\xf8\x1b+\xda\x9a\x92j%\x81(190) uart: ALREADY NULL\x1b[0[C\xa1*k\xc9\xbdA\xe5\xd1\xa1\xbd\xb9 v1.12 on 2019-12-20; ESP32 mod]\xab\x81with ESP&\xa6H\x88\x95\xc1\x95\x81"help()" fK [K\x95\x81infor[XW\xeb\xcb\xcb\xa9H\xc8\xf2\xf2\x02\xfe' ###NextPage[title=stm32]### b'\x1b[0;32mI (457) cpu_start: Pro cpu up.\x1b[0m\r\n' b'\x1b[0;32mI (457) cpu_start: Application information:\x1b[0m\r\n' b'\x1b[0;32mI (457) cpu_start: Compile time: Dec 20 2019 07:50:41\x1b[0m\r\n' b'\x1b[0;32mI (461) cpu_start: ELF file SHA256: 0000000000000000...\x1b[0m\r\n' b'\x1b[0;32mI (467) cpu_start: ESP-IDF: v3.3\x1b[0m\r\n' b'\x1b[0;32mI (471) cpu_start: Starting app cpu, entry point is 0x40083600\x1b[0m\r\n' b'\x1b[0;32mI (0) cpu_start: App cpu up.\x1b[0m\r\n' b'\x1b[0;32mI (482) heap_init: Initializing. RAM available for dynamic allocation:\x1b[0m\r\n' b'\x1b[0;32mI (489) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM\x1b[0m\r\n' b'\x1b[0;32mI (495) heap_init: At 3FFBA488 len 00025B78 (150 KiB): DRAM\x1b[0m\r\n' b'\x1b[0;32mI (501) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM\x1b[0m\r\n' b'\x1b[0;32mI (507) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM\x1b[0m\r\n' b'\x1b[0;32mI (514) heap_init: At 40092D6C len 0000D294 (52 KiB): IRAM\x1b[0m\r\n' b'\x1b[0;32mI (520) cpu_start: Pro cpu start user code\x1b[0m\r\n' b'\x1b[0;32mI (203) cpu_start: Chip Revision: 1\x1b[0m\r\n' b'\x1b[0;33mW (203) cpu_start: Chip revision is higher than the one configured in menuconfig. Suggest to upgrade it.\x1b[0m\r\n' b'\x1b[0;32mI (206) cpu_start: Starting scheduler on PRO CPU.\x1b[0m\r\n' b'\x1b[0;32mI (0) cpu_start: Starting scheduler on APP CPU.\x1b[0m\r\n' b'\x1b[0;32mI (180) modsocket: Initializing\x1b[0m\r\n' b'\x1b[0;32mI (190) uart: ALREADY NULL\x1b[0m\r\n' b'MicroPython v1.12 on 2019-12-20; ESP32 module with ESP32\r\n' b'Type "help()" for more information.\r\n' b'>>> ' ystemInitedWifi b'>>> wifi = WIFI()\r\n' b'I (530) wifi: wifi driver task: 3ffe3858, prio:23, stack:3584, core=0\r\n' b'\x1b[0;32mI (1278) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE\x1b[0m\r\n' b'\x1b[0;32mI (1288) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE\x1b[0m\r\n' b'I (1318) wifi: wifi firmware version: aeed694\r\n' b'I (1318) wifi: config NVS flash: enabled\r\n' b'I (1318) wifi: config nano formating: disabled\r\n' b'I (1318) wifi: Init dynamic tx buffer num: 32\r\n' b'I (1328) wifi: Init data frame dynamic rx buffer num: 32\r\n' b'I (1328) wifi: Init management frame dynamic rx buffer num: 32\r\n' b'I (1338) wifi: Init management short buffer num: 32\r\n' b'I (1338) wifi: Init static rx buffer size: 1600\r\n' b'I (1348) wifi: Init static rx buffer num: 10\r\n' b'I (1348) wifi: Init dynamic rx buffer num: 32\r\n' b'>>> platform = PLATFORM()\r\n' b">>> wifi.connect('djkjtest','scfy12345678')\r\n" b'\x1b[0;32mI (1458) phy: phy_version: 4102, 2fa7a43, Jul 15 2019, 13:06:06, 0, 0\x1b[0m\r\n' b'I (1458) wifi: mode : sta (b4:e6:2d:de:bd:09)\r\n' b'\x1b[0;32mI (1458) wifi: STA_START\x1b[0m\r\n' b'False\r\n' b'>>> I (3158) wifi: new:<13,0>, old:<1,0>, ap:<255,255>, sta:<13,0>, prof:1\r\n'

    UART 串口 stm32f427 GD32F450 CPU start

    3786浏览量 0回复量 关注量
  • GD32F130 STLINK KEIL5 提示“No target connected” sos

    KEIL5 使用STLINKv2下载程序时提示“No target connected”怎么办,已经检查过接线了。 下载视频

    KEIL connected keil5 GD32F130 target STLINK

    2019浏览量 0回复量 关注量
  • SDA和SCL接反能使用吗

    数据手册上 PB10 功能定义的是SCL PB11定义的是SDA在使用的过程中我把SDA和SCL接反了 已经焊死不能改动 这种情况该怎么解决

    GD32 sd 数据手册

    8810浏览量 9回复量 关注量
  • GD32F103VET6 FMC 512KB flash,后256KB无法写入数据

    使用GD32F103VET6芯片进行flash读写,经过测试发现flash写操作只能在前256KB,在后256KB则无法进行写操作,查看手册针对这两块内存的区别在指令零等待或延时,但是对读写操作上会存在什么区分呢?擦除使用fmc_page_erase接口如下是操作demo: /** * @description: EEPROM read data * @param : uint16_t write_addr: EEPROM addr(first addr: ) [input] * uint8_t *buffer: Temporary storage cache [output] * uint16_t length: len (unit: BYTE) [input] * @return: success: 0 | fail: 1 */ static int flash_write_word(uint32_t write_addr, const uint32_t *buffer, uint16_t length) { uint16_t i = 0; uint32_t *tempBuff = NULL; fmc_state_enum state = FMC_PGERR; if (buffer == NULL || ((write_addr % 4) != 0)) { return -1; } if ((write_addr) < FLASH_STORE_BASE_ADDR || ((write_addr + length * 4) >= (FLASH_BASE_ADDR + FLASH_SECTOR_SIGLE_SIZE * FLASH_SECTOR_TOTAL_SIZE))) { return -1; } tempBuff = (uint32_t *)buffer; fmc_unlock(); __disable_irq(); for (i = 0; i < length; i++) { fmc_flag_clear(FMC_FLAG_BANK0_END); fmc_flag_clear(FMC_FLAG_BANK0_WPERR); fmc_flag_clear(FMC_FLAG_BANK0_PGERR); state = fmc_word_program(write_addr + 4 * i, *(tempBuff + i)); if(state != FMC_READY) { __enable_irq(); fmc_lock(); return -1; } } __enable_irq(); fmc_lock(); return 0; }

    GD32 MCU fm gd32F103 flash TE

    2190浏览量 2回复量 关注量
  • GD32F105进入深度睡眠后,RTC中断不能正常运行。 sos

    [i=s] 本帖最后由 地瓜土豆 于 2021-6-1 15:28 编辑 [/i] GD32F105进入深度睡眠后,RTC中断不能正常运行。常规模式下是可以产生中断的。我想深度睡眠之后定时唤醒,但是深度睡眠之后,RTC中断不能相应。一直都在深度睡眠模式,退不出来。求大佬解惑。谢谢!以下是我的代码。void rtc_conf(void) { nvic_irq_enable(RTC_IRQn,1,4); //中断优先级 rcu_periph_clock_enable(RCU_BKPI); //开启时钟 后备寄存器 rcu_periph_clock_enable(RCU_PMU); pmu_backup_write_enable(); //允许访问 后备寄存器 bkp_deinit(); //反初始化 //rcu_osci_on(RCU_LXTAL); //rcu_osci_stab_wait(RCU_LXTAL); //rcu_rtc_clock_config(RCU_RTCSRC_LXTAL); rcu_osci_on(RCU_IRC40K); //使能低速慢时钟 rcu_osci_stab_wait(RCU_IRC40K);//等待低速慢时钟稳定 rcu_rtc_clock_config(RCU_RTCSRC_IRC40K); //选择低速慢时钟源 rcu_periph_clock_enable(RCU_RTC); //使能RTC rtc_register_sync_wait(); //等待RTC寄存器同步 rtc_lwoff_wait(); //等待RTC寄存器上的最后一次写入操作完成 rtc_interrupt_enable(RTC_INT_SECOND); //使能 秒中断 rtc_lwoff_wait(); //等待RTC寄存器上的最后一次写入操作完成 rtc_prescaler_set(32767); rtc_lwoff_wait(); } void RTC_IRQHandler(void) { if(rtc_flag_get(RTC_FLAG_SECOND) != RESET) { Rtc_Time.s++; SleepS_Rtc++; rtc_flag_clear(RTC_FLAG_SECOND); } } void Sleep_Wdog(long sleep_s) { float car_v=0; SleepS_Rtc=0; Rtc_Time.s=0; while(SleepS_Rtc

    ck RTC gd32f105 rc BLE ck

    1878浏览量 0回复量 关注量
  • STM32103RC换成GD32103报“Invalid Rom Table”错误 sos

    STM32103RC换成GD32103后,原工程文件编译后使用J-Link下载程序报错“Invalid Rom Table”,请各位大侠指导一下,如何解决,谢谢!

    GD32 ROM table stm32103 rc link

    1631浏览量 0回复量 关注量
  • rtc_register_sync_wait 超时 RTC寄存器同步超时 sos

    原来用的stm32F103rct6转到GD32,发现RTC初始化死锁,后来发现死在寄存器同步上了,请帮忙看看是什么原因RTC用的LXTAL,32768Hz的晶振

    单片机 register AI 寄存器 RTC STM32

    1967浏览量 0回复量 关注量
  • GD32F305VG timer0输入捕获无反应

    各位大佬好! 我按照GD32F30x的标准库配置了GD32F305VG 的timer0定时器并开启了输入捕获功能,配置代码如下: void timer_config(void) { /* ----------------------------------------------------------------------- timer_parameter_struct timer_initpara; timer_ic_parameter_struct timer_icinitpara; rcu_periph_clock_enable(RCU_TIMER0); timer_deinit(TIMER0); /*NVIC config*/ nvic_irq_enable(TIMER0_UP_TIMER9_IRQn, 1, 1); nvic_irq_enable(TIMER0_Channel_IRQn, 1, 0); /* TIMER0 configuration */ timer_initpara.prescaler = 119; timer_initpara.alignedmode = TIMER_COUNTER_EDGE; timer_initpara.counterdirection = TIMER_COUNTER_UP; timer_initpara.period = 999; timer_initpara.clockdivision = TIMER_CKDIV_DIV1; timer_initpara.repetitioncounter = 0; timer_init(TIMER0, &timer_initpara); timer_icinitpara.icpolarity = TIMER_IC_POLARITY_RISING; 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_0, &timer_icinitpara); timer_input_capture_config(TIMER0, TIMER_CH_3, &timer_icinitpara); /* auto-reload preload enable */ timer_auto_reload_shadow_enable(TIMER0); timer_interrupt_flag_clear(TIMER0,TIMER_INT_FLAG_CH0); timer_interrupt_flag_clear(TIMER0,TIMER_INT_FLAG_CH3); timer_interrupt_enable(TIMER0,TIMER_INT_CH0); timer_interrupt_enable(TIMER0,TIMER_INT_CH3); timer_interrupt_enable(TIMER0,TIMER_INT_UP); timer_enable(TIMER0); } /*中断服务程序*/ void TIMER0_UP_TIMER9_IRQHandler(void) { if ( timer_interrupt_flag_get(TIMER0, TIMER_INT_FLAG_UP) != RESET ) { timer_interrupt_flag_clear(TIMER0, TIMER_INT_FLAG_UP); timer0tick++; } } void TIMER0_Channel_IRQHandler() { if ( timer_interrupt_flag_get(TIMER0, TIMER_INT_FLAG_CH0) != RESET) { timer_interrupt_flag_clear(TIMER0, TIMER_INT_FLAG_CH0); } else if (timer_interrupt_flag_get(TIMER0, TIMER_INT_FLAG_CH3) != RESET){ timer_interrupt_flag_clear(TIMER0, TIMER_INT_FLAG_CH3); rcvcnt++; } } TIMER0 CH0和CH3的GPIO口确定可以正常检测到高低电平,然而软件在运行中,只有更新中断是正常的,输入捕获中断一直触发不了,不知道各位大佬们是否有遇到过此类问题,恳请指点一二,感谢!

    输入捕获 GD32 高级定时器 GD32F305 TIMER0 ic

    2386浏览量 8回复量 关注量
  • gd32f103rct spi0从机 DMA发送异常

    gd32f103rct spi0从机 DMA发送一包数据的时候,有个别字节的最高位本来是1的,发送出来是0。 MISO没加上拉电阻。

    mcu DMA spi rc gd32F103 ISO

    1333浏览量 2回复量 关注量
  • ST7789V2 串口 SPI屏幕每次开显示之前 都需要清一次屏幕吗? sos

    一款产品上面用了这款屏幕 ST7789V2,SPI 240*240的屏幕,有时开机会在某个区域出现雪花一样的像素点,我屏幕背景色是黑色的,我在想如果我背景色是黑色,那么每次上电之前这屏幕的GRAM里面一定都是0,我开显示就会直接出现黑色的背景,但是测试中发现有时会在某个区域出现像雪花一样的像素五颜六色,几率很小会出现,所以我想问是不是每次初始化后都需要把整个屏幕的像素都写一遍背景色?

    GD32 STM32 spi 串口 ST pi

    1280浏览量 0回复量 关注量