[STM8] 关于stm8s用外接24m晶振问题

[复制链接]
2766|8
 楼主| coderdd 发表于 2017-1-19 12:29 | 显示全部楼层 |阅读模式
stm8s用外接24m晶振时,串口无**常使用。使用内部的16M频率是正常的。这个是什么原因?函数用的都是库函数
void Init_UART()
{
  UART1_DeInit();
  UART1_Init((u32)115200, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO,      UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
  UART1_Cmd(ENABLE);
  UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);
  enableInterrupts();
}

mmuuss586 发表于 2017-1-19 15:08 | 显示全部楼层
检查主时钟部分程序看看;

应该是时钟不对,导致波特率误差大,通讯不上
huangcunxiake 发表于 2017-1-19 17:13 | 显示全部楼层
波特率的配置要重设吧
xmshao 发表于 2017-1-19 23:07 | 显示全部楼层
超过16MHz了,有个等待状态项要配置下。

For clock frequencies above 16 MHz, Flash /data EEPROM access must be configured for 1
wait state
. This is enabled by the device option byte. Refer to the datasheet option byte
section.
weidni2009 发表于 2017-1-20 14:59 | 显示全部楼层
更改了外围晶振的话需要重新设置波特率的!
643757107 发表于 2017-1-20 19:57 | 显示全部楼层
坐等楼主研究出来方法。
i1mcu 发表于 2017-1-20 21:46 | 显示全部楼层
波特率问题嘛
i1mcu 发表于 2017-1-20 21:47 | 显示全部楼层
不是正常12M得嘛
desertsailor 发表于 2017-2-3 13:39 | 显示全部楼层
stm8s1xx系列最高频率到16M,STM8S2XX系列最高频率可到24M,但必须要加入flash等待周期,说白了就是FLASH的速度跟不上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

385

帖子

11

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