[STM8] stm8s003f3p6应用内部时钟,串口无数据?请教如何解决

[复制链接]
 楼主| 地瓜patch 发表于 2025-1-20 17:00 | 显示全部楼层 |阅读模式
本帖最后由 地瓜patch 于 2025-1-20 17:04 编辑

第一次用stm8系列的片子,很陌生。程序很简单,串口发数据就行了。但是发不出来。
PD4,PD5上没有波形。

int main(void)
{
   
  /* Infinite loop */
  
  /*设置内部时钟16M为主时钟*/

  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
  /*!<Set High speed internal clock  */

   Uart_Init();

   Delay(0xffff);
   Delay(0xffff);
   Delay(0xffff);
  __enable_interrupt();
   while (1)
   {
     UART1_SendByte(0x55);
Delay(0xffff);
   }
}


void Uart_Init(void)
{
    UART1_DeInit();
    UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, \
    UART1_PARITY_NO , UART1_SYNCMODE_CLOCK_DISABLE , UART1_MODE_TXRX_ENABLE);
    UART1_ITConfig(UART1_IT_RXNE_OR,ENABLE  );
    UART1_Cmd(ENABLE );
  
}

void UART1_SendByte(u8 data)
{
    UART1_SendData8((unsigned char)data);
  /* Loop until the end of transmission */
  while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET);
}

评论

结帖,需要将下载线的RST断开  发表于 2025-1-21 18:06
gaoyang9992006 发表于 2025-1-20 17:03 | 显示全部楼层
请假的话跟你领导说就行了。
yangjiaxu 发表于 2025-1-20 17:15 | 显示全部楼层
这个芯片应该是支持仿真的,你看看仿真是否使能成功内部HSI,并且是否可以正常起振呢?
gaoyang9992006 发表于 2025-1-20 17:19 | 显示全部楼层
你没有外设时钟的配置,所以尬了。
flycamelaaa 发表于 2025-1-21 16:24 | 显示全部楼层
检查串口连接是否正确,没有接反。
Amazingxixixi 发表于 2025-1-21 16:45 | 显示全部楼层
学习一下啊,还有好多需要学习的。
stormwind123 发表于 2025-1-21 19:00 | 显示全部楼层
发送串口端电压与USB转串口电压是否一致,例如发送串口端电压为3.3V,而USB转串口电压为5V时,可能导致接收数据乱码。
probedog 发表于 2025-1-21 20:26 | 显示全部楼层
时钟配置不对或者串口初始化有误
powerantone 发表于 2025-1-21 21:00 | 显示全部楼层
检查串口线是否松动或接口处是否存在虚焊。
classroom 发表于 2025-1-21 21:00 | 显示全部楼层
检查串口初始化代码是否正确。包括波特率设置、数据位、停止位和奇偶校验等参数是否与接收端一致。
laocuo1142 发表于 2025-1-21 22:00 | 显示全部楼层
检查发送数据函数是否正确实现了数据的发送。包括等待发送缓冲区空闲等逻辑。
SophiaOP 发表于 2025-1-22 21:06 来自手机 | 显示全部楼层
没用过st的八位机
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1809

主题

14854

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部