本帖最后由 seanwu 于 2021-1-19 17:02 编辑
我将STM32F030C8T6的代码(用STM32CubeMX生成的Keil 5.27 Project),编译的目标文件直接烧录到GD32E230C8T6不能运行。
查到几个问题:
1) usart2 rs485初始化,一直不成功,问题在这里 if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE) != HAL_OK),没有深入函数内。
2)进一步查发现systick在bootloader中工作正常,跳转到APP后,HAL_GetTick()总是返回值0;
3)去掉bootloader直接跑APP,systick工作正常,但是usart2 rs485初始化仍然不成功,没有深入查了
4)HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, (uint32_t)paddr, (uint64_t)prog_data) 不成功
,从资料上看到GD32E230不支持16位写,需要改为32位写,没有修改测试。
5)直接跑APP,usart2不用,Flash不写,其他代码工作正常,主要用到USART1( GD32E230的USART0)、IWDG、SysTick、DMA
大家有发现类似问题吗?我停几天再深入查 |