You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM8S103F3P6 UART TX中断无法触发:编译器绑定异常问题

问题定位:STM8S103F3P6 UART TX中断失效与开发环境的关联

我这边已经排查出问题根源:该UART TX中断发送失败的问题完全和开发环境/编译器绑定有关。

具体场景细节:

  • 在Cosmos + STVD开发环境下,STM8S103F3P6芯片的UART TX中断函数无法正确绑定到中断向量,导致触发TX中断发送数据的功能彻底失效
  • 我严格参考STM8官方UART中断例程编写了初始化代码、主循环以及中断向量处理函数(完整代码如下),但用终端工具始终检测不到任何数据输出
  • 把整个项目直接迁移到IAR开发环境后,中断发送功能立刻恢复正常,终端能正常接收到预期数据

测试用完整代码

void init_handler(void){
 CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
 UART1_DeInit();
 UART1_Init((uint32_t)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
 UART1_ITConfig(UART1_IT_TXE,ENABLE);
 enableInterrupts();
 UART1_Cmd(ENABLE);
}

main(){
 init_handler();
 while(1);
}

INTERRUPT_HANDLER(UART1_TX_IRQHandler, 17){
 /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */
 UART1_SendData8('a');
 while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET);
}

内容的提问来源于stack exchange,提问作者Murat Hepeyiler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:20:45