OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5929|回复: 5

解释一个宏定义???

[复制链接]

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2017-6-1
在线时间
14 小时
发表于 2017-7-27 13:51:53 | 显示全部楼层 |阅读模式
1金钱
#define    POSITION_VAL(VAL)       (__CLZ(__RBIT(VAL)))

这个宏定义在stm32f7xx.h的第193行

最佳答案

查看完整内容[请看2#楼]

http://www.openedv.com/thread-94750-1-1.html
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

311

帖子

0

精华

高级会员

Rank: 4

积分
747
金钱
747
注册时间
2016-5-21
在线时间
199 小时
发表于 2017-7-27 13:51:54 | 显示全部楼层
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2017-6-1
在线时间
14 小时
 楼主| 发表于 2017-7-27 14:00:00 | 显示全部楼层
/**
  \brief   Reverse bit order of value
  \details Reverses the bit order of the given value.
  \param [in]    value  Value to reverse
  \return               Reversed value
*/
#if       (__CORTEX_M >= 0x03U) || (__CORTEX_SC >= 300U)
  #define __RBIT                          __rbit
#else
__attribute__((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t value)
{
  uint32_t result;
  int32_t s = 4 /*sizeof(v)*/ * 8 - 1; /* extra shift needed at end */

  result = value;                      /* r will be reversed bits of v; first get LSB of v */
  for (value >>= 1U; value; value >>= 1U)
  {
    result <<= 1U;
    result |= value & 1U;
    s--;
  }
  result <<= s;                        /* shift when v's highest bits are zero */
  return(result);
}
#endif


/**
  \brief   Count leading zeros
  \details Counts the number of leading zeros of a data value.
  \param [in]  value  Value to count the leading zeros
  \return             number of leading zeros in value
*/
#define __CLZ                             __clz
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2017-6-1
在线时间
14 小时
 楼主| 发表于 2017-7-27 14:01:11 | 显示全部楼层
看注释好像明白一些了
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2017-6-1
在线时间
14 小时
 楼主| 发表于 2017-7-27 14:04:09 | 显示全部楼层
haysen 发表于 2017-7-27 13:51
http://www.openedv.com/thread-94750-1-1.html

谢谢了
回复

使用道具 举报

7

主题

185

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2729
金钱
2729
注册时间
2015-12-27
在线时间
469 小时
发表于 2017-7-27 14:44:03 | 显示全部楼层
厉害!!!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-18 12:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表