8478|12

62

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

固件库V3.3中的关于USART新添加的两个函数,求解释? [复制链接]

/**
  * @brief  使能或失能USART的.---Enables or disables the USART's 8x oversampling mode.
  * @param  USARTx:  ---Select the USART or the UART peripheral.
  *         这个参数可以是下面的值之一 : USART1, USART2, USART3, UART4 or UART5.
  *         This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
  * @param  NewState: new state of the USART one bit sampling methode.
  *        This parameter can be: ENABLE or DISABLE.
  * @note
  *     This function has to be called before calling USART_Init()
  *     function in order to have correct baudrate Divider value.   
  * @retval None
  */
void USART_OverSampling8Cmd(USART_TypeDef* USARTx, FunctionalState NewState)
{
  /* Check the parameters */
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  if (NewState != DISABLE)
  {
    /* Enable the 8x Oversampling mode by setting the OVER8 bit in the CR1 register */
    USARTx->CR1 |= CR1_OVER8_Set;
  }
  else
  {
    /* Disable the 8x Oversampling mode by clearing the OVER8 bit in the CR1 register */
    USARTx->CR1 &= CR1_OVER8_Reset;
  }
}
/**
  * @brief  Enables or disables the USART's one bit sampling methode.
  * @param  USARTx: Select the USART or the UART peripheral.
  *   
  *   This parameter can be one of the following values: USART1, USART2, USART3, UART4 or UART5.
  * @param  NewState: new state of the USART one bit sampling methode.
  *   This parameter can be: ENABLE or DISABLE.
  * @retval None
  */
void USART_OneBitMethodCmd(USART_TypeDef* USARTx, FunctionalState NewState)
{
  /* Check the parameters */
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  if (NewState != DISABLE)
  {
    /* Enable the one bit method by setting the ONEBITE bit in the CR3 register */
    USARTx->CR3 |= CR3_ONEBITE_Set;
  }
  else
  {
    /* Disable tthe one bit method by clearing the ONEBITE bit in the CR3 register */
    USARTx->CR3 &= CR3_ONEBITE_Reset;
  }
}
此帖出自stm32/stm8论坛

最新回复

我也刚刚看到这两个,这个CR1_OVER8,在CR1的第15位,无论中文或英文(20-Oct-2011 REV14)的参考手册都看不到. 不知道什么意思,好像还与计算波特率BRR寄存器有关  详情 回复 发表于 2012-9-14 11:05
点赞 关注
 

回复
举报

54

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
楼主还挺仔细。

我也不知道是做什么的,好像是不公开的功能,
此帖出自stm32/stm8论坛
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
用来选择串行通讯中,对每个位的采样是8次还是16次判读,默认为16次。

应该是为将来的STM32保留的功能,或者是现在已经有但是没有公布的功能
此帖出自stm32/stm8论坛
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
用来选择串行通讯中,对每个位的采样是8次还是16次判读,默认为16次。

应该是为将来的STM32保留的功能,或者是现在已经有但是没有公布的功能
一级菜鸟 发表于 2010-8-13 23:13
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 
                                 那就是降低功耗用的吧。
此帖出自stm32/stm8论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

6
 
                                 谢了版主,还有那位高人,俺明白了,继续虚心学习!
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 楼主这么虚心,不就就会达到一级菜鸟的水平了
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 楼主得领悟能力不错,有成为大侠的潜质
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

9
 
                                 不小心放进去的,那就是没有用了??
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

10
 
/*************************************************************************************************
  * @fun:  void USART_OverSampling8Cmd(USART_TypeDef* USARTx, FunctionalState NewState)
  * @brief  Enables or disables the USART's 8x oversampling mode.
  *         启用或禁用USART 8倍过采样模式
  * @param  USARTx: Select the USART or the UART peripheral.
  *                 选择的USART或UART的外设。
  *   This parameter can be one of the following values:
  *   此参数可为下列值之一:
  *   USART1, USART2, USART3, UART4 or UART5.
  * @param  NewState: new state of the USART one bit sampling methode.
  *   This parameter can be: ENABLE or DISABLE.
  *                  USART位采样方法的新状态,此参数可以是:启用或禁用
  * @note
  *     This function has to be called before calling USART_Init()
  *     function in order to have correct baudrate Divider value.
  *     调用此函数之前,必须调用USART_Init函数确定恰当的波特率分频值
  * @retval None
************************************************************************************************/
void USART_OverSampling8Cmd(USART_TypeDef* USARTx, FunctionalState NewState)
{
    /* Check the parameters
       检查参数 */
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  if (NewState != DISABLE)
  {
    /* Enable the 8x Oversampling mode by setting the OVER8 bit in the CR1 register
       置位CR1寄存器 OVER8 位启用8倍过采样模式 */
    USARTx->CR1 |= CR1_OVER8_Set;
  }
  else
  {
    /* Disable the 8x Oversampling mode by clearing the OVER8 bit in the CR1 register
       复位CR1寄存器 OVER8 位禁用8倍过采样模式 */
    USARTx->CR1 &= CR1_OVER8_Reset;
此帖出自stm32/stm8论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

11
 
/*************************************************************************************************
  * @fun:  void USART_OneBitMethodCmd(USART_TypeDef* USARTx, FunctionalState NewState)
  * @brief  Enables or disables the USART's one bit sampling methode.
  *         启用或禁用USART位采样方法
  * @param  USARTx: Select the USART or the UART peripheral.
  *                 选择的USART或UART的外设。
  *   This parameter can be one of the following values:
  *   此参数可为下列值之一:
  *   USART1, USART2, USART3, UART4 or UART5.
  * @param  NewState: new state of the USART one bit sampling methode.
  *   This parameter can be: ENABLE or DISABLE.
  *                  USART位采样方法的新状态,此参数可以是:启用或禁用
  * @retval None
************************************************************************************************/
void USART_OneBitMethodCmd(USART_TypeDef* USARTx, FunctionalState NewState)
{
    /* Check the parameters
       检查参数 */
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  
  if (NewState != DISABLE)
  {
    /* Enable the one bit method by setting the ONEBITE bit in the CR3 register
       置位CR3寄存器 ONEBITE 位启用位采样方法 */
    USARTx->CR3 |= CR3_ONEBITE_Set;
  }
  else
  {
    /* Disable tthe one bit method by clearing the ONEBITE bit in the CR3 register
       复位CR3寄存器 ONEBITE 位禁用位采样方法 */
    USARTx->CR3 &= CR3_ONEBITE_Reset;
  }
}
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

12
 
/* USART OverSampling-8 Mask
   USART 8倍过采样模式掩码*/
#define CR1_OVER8_Set             ((u16)0x8000)  /* USART OVER8 mode Enable Mask CR3[15]未有资料 */
#define CR1_OVER8_Reset           ((u16)0x7FFF)  /* USART OVER8 mode Disable Mask 未有资料 */
/* USART One Bit Sampling Mask
   USART 位采样方法掩码*/
#define CR3_ONEBITE_Set           ((u16)0x0800)  /* USART ONEBITE mode Enable Mask CR3[11] 未有资料 */
#define CR3_ONEBITE_Reset         ((u16)0xF7FF)  /* USART ONEBITE mode Disable Mask  未有资料 */
此帖出自stm32/stm8论坛
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(高级)

13
 
我也刚刚看到这两个,这个CR1_OVER8,在CR1的第15位,无论中文或英文(20-Oct-2011 REV14)的参考手册都看不到. 不知道什么意思,好像还与计算波特率BRR寄存器有关
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表