你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103 的串口 数据不对

[复制链接]
ntzhangqj 提问时间:2011-6-10 14:40 /
用STM32F103R8的USART1 发射数据 每次都市 bit5,bit6 ,bit7 不对
例如 发 0x55 收的是 0xob5 发 0x40 收的是 0x80 发现 从 bit4 向前的位都正确 发0x1f 就能收 0x1f
晶振是用外部的8M x 9 = 72MHz AHB2 没有预分屏
是不是STM32 的CPU   非要用 11.0592的晶振才能准啊
 
收藏 评论5 发布时间:2011-6-10 14:40

举报

5个回答
xialibaren0008 回答时间:2011-6-10 17:00:52

RE:STM32F103 的串口 数据不对

肯定没这是,串口还是不错的,8m osc
废鱼 回答时间:2011-6-10 21:12:51

RE:STM32F103 的串口 数据不对

晶振是8M,11M的是51用的。另外,可能是你串口的波特率配置和实际接收的波特率是不一样的。
scale_ljs 回答时间:2011-6-13 08:52:26

RE:STM32F103 的串口 数据不对

应该是你的配置问题!
ntzhangqj 回答时间:2011-6-13 10:26:48

RE:STM32F103 的串口 数据不对

USART_InitTypeDef USART_InitStructure;
  USART_InitStructure.USART_BaudRate = 9600;  //设置波特率
  USART_InitStructure.USART_WordLength = USART_WordLength_8b; //设置数据长度
  USART_InitStructure.USART_StopBits = USART_StopBits_1; //设置停止位
  USART_InitStructure.USART_Parity = USART_Parity_No; //设置校奇偶校验
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //设置硬件流控制
  USART_InitStructure.USART_Mode =  USART_Mode_Tx; //设置为接受发送模式
  USART_InitStructure.USART_Clock = USART_Clock_Disable; //禁止 USART 输出 Clock
  USART_InitStructure.USART_CPOL = USART_CPOL_Low;
  USART_InitStructure.USART_CPHA = USART_CPHA_2Edge;
  USART_InitStructure.USART_LastBit = USART_LastBit_Disable;
  USART_Init(USART1, &USART_InitStructure);

  /*enable receive interrupt */
  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
  /* Enable USART1 */
  USART_Cmd(USART1, ENABLE);

要不是库有问题
废鱼 回答时间:2011-8-12 14:54:04

RE:STM32F103 的串口 数据不对

你的串口IO口的配置程序怎么没有啊?你可以参考官方的串口配置例程。
先配置IO口,再配置串口。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版