您的位置: OpenADSP社区论坛 -> SHARC/TigerSHARC专区 -> 新手上路 -> 21489的函数宏定义在哪里
本帖共有997个阅读者
发表帖子 发表投票 回复主题
21489的函数宏定义在哪里
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
21489的函数宏定义在哪里
问题:21489的函数宏定义在哪里,比如LOW,DAI_PB15_I,DAI_PB15_O,MISCA0_I,PBEN15_I 这些宏定义在何处?

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2015/8/11 12:50:27
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
你问的这些都是SRU函数用到的,这个是 SRU函数的定义:

#  define SRU(out,in)                         \
     do {                                     \
       SRU_ERROR_CHECK(out,in)                \
       * (volatile unsigned int *) in##_REG = \
           (sru_field(out,in) |           \
            (* (volatile unsigned int *) in##_REG & sru_mask(out,in))); \
     } while (0)

注意下in 和out调用的地方,比如in用到了in##_REG ,意思很明显,就是要在你输入的名字后面加上_REG ,搜索头文件可以找到:
#define DAI_PB15_I_GROUP        GROUP_D,在sru21489.h中,

sru_mask(out,in)函数,原函数如下:

#define sru_mask(out,in) \
     ~((((in##_GROUP & GROUP_A) >> LOG_GROUP_A) * MASK_A \
       |((in##_GROUP & GROUP_B) >> LOG_GROUP_B) * MASK_B \
       |((in##_GROUP & GROUP_C) >> LOG_GROUP_C) * MASK_C \
       |((in##_GROUP & GROUP_D) >> LOG_GROUP_D) * MASK_D \
       |((in##_GROUP & GROUP_E) >> LOG_GROUP_E) * MASK_E \
       |((in##_GROUP & GROUP_F) >> LOG_GROUP_F) * MASK_F \
       |((in##_GROUP & GROUP_G) >> LOG_GROUP_G) * MASK_G \
       |((in##_GROUP & GROUP_A2)>> LOG_GROUP_A2)* MASK_A2\
       |((in##_GROUP & GROUP_B2)>> LOG_GROUP_B2)* MASK_B2\
       |((in##_GROUP & GROUP_C2)>> LOG_GROUP_C2)* MASK_C2) << in##_SHIFT)

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2015/8/11 23:10:37
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154335 Call, 1 Queries, Processed in 0.015625 second(s),