打印

请教C中如何利用RBIT指令?

[复制链接]
8905|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MicroMMU|  楼主 | 2012-12-20 20:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教C中如何利用RBIT指令?
沙发
airwill| | 2012-12-20 20:35 | 只看该作者
在 Keil 里, 用 __rbit(); 的内部函数.
GCCARM 也有类似的内部函数, 查一下编译器手册吧

使用特权

评论回复
板凳
28182900| | 2013-2-25 15:16 | 只看该作者
iar 呢 IAR怎么办撒~

使用特权

评论回复
地板
28182900| | 2013-2-25 15:16 | 只看该作者
airwill 发表于 2012-12-20 20:35
在 Keil 里, 用 __rbit(); 的内部函数.
GCCARM 也有类似的内部函数, 查一下编译器手册吧 ...

版主IAR咋办俄

使用特权

评论回复
5
airwill| | 2013-2-25 15:20 | 只看该作者
查一下编译器手册吧, 我想应该也有的. 实在不行, 嵌入汇编指令, 据称 IAR 的嵌入汇编比较强大.
我没有在用 IAR, 不能帮你了, 抱歉

使用特权

评论回复
6
那就地方iv| | 2015-7-28 11:20 | 只看该作者

在IAR中可以使用uint32_t __RBIT(uint32_t value)这个函数,在core_cm3.c文件里

使用特权

评论回复
7
那就地方iv| | 2015-7-28 11:22 | 只看该作者
/**
* @brief  Reverse bit order of value
*
* @param  value  value to reverse
* @return        reversed value
*
* Reverse bit order of value
*/
uint32_t __RBIT(uint32_t value)
{
  __ASM("rbit r0, r0");
  __ASM("bx lr");
}
使用这个函数,__RBIT(data)>>24(如果是八位数据可以在转换后再左移24位即可)

使用特权

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

本版积分规则

73

主题

531

帖子

1

粉丝