打印
[STM8]

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

[复制链接]
2490|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.

使用特权

评论回复
5
weidni2009| | 2017-1-20 14:59 | 只看该作者
更改了外围晶振的话需要重新设置波特率的!

使用特权

评论回复
6
643757107| | 2017-1-20 19:57 | 只看该作者
坐等楼主研究出来方法。

使用特权

评论回复
7
i1mcu| | 2017-1-20 21:46 | 只看该作者
波特率问题嘛

使用特权

评论回复
8
i1mcu| | 2017-1-20 21:47 | 只看该作者
不是正常12M得嘛

使用特权

评论回复
9
desertsailor| | 2017-2-3 13:39 | 只看该作者
stm8s1xx系列最高频率到16M,STM8S2XX系列最高频率可到24M,但必须要加入flash等待周期,说白了就是FLASH的速度跟不上。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

385

帖子

11

粉丝