打印
[DSP编程]

如何进行CSL函数宏定义?

[复制链接]
2034|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ttxs_2013|  楼主 | 2014-4-24 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在学习MCBSP ,用TI的官方例程,测试结果失败,说明数据在传输读取过程中有错误,想检测下具体是何种错误。拿同步帧同步信号错误(当前的数据帧中的所有串行数据还未接收完,出现了帧同步信号,接收器会停止当前帧的接收并重新开始下一帧的接收,从而造成当前数据的丢失。那么在串行口控制寄存器(SPCR1)中,位RSYNCER=1,所以可以用CSL函数:MCBSP_FGET(REG#,FIELD)来读取寄存器中该位段的值,但是函数需要先进行宏定义,之前在其他模块有遇到过类似的函数,是已经宏定义好的,现在要自己进行宏定义,不知道怎么定义?如何思考?哪位能够解释下,谢谢!

相关帖子

沙发
polaris0327| | 2014-4-24 20:20 | 只看该作者
把csl库里那个文件include进去就可以

使用特权

评论回复
板凳
zhangmangui| | 2014-4-24 23:23 | 只看该作者
对呀  只要添加相应模块的头文件就可以啦    里面都是有的  

使用特权

评论回复
地板
msblast| | 2014-4-25 09:36 | 只看该作者
Chip Support Library芯片级支持库,名字清晰明了,是TI提供的一组API,用来配置和控制片上外围用的。

使用特权

评论回复
5
ttxs_2013|  楼主 | 2014-4-25 15:03 | 只看该作者
polaris0327 发表于 2014-4-24 20:20
把csl库里那个文件include进去就可以

是这样么?模块用到的头文件已经添加进去了(就是csl_mcbsp.h),这个例程中已经有!如果模块中的csl库中的所有函数都在.h文件中宏定义了,那我自动查找MCBSP_FGET( )这个函数,怎么没有查到?直接进去找也是没有找到?难道不是这个.h文件?
我觉得是例程中需要什么,头文件中进包含什么,而不是该模块的csl库函数都添加在里面。

使用特权

评论回复
6
ttxs_2013|  楼主 | 2014-4-25 15:27 | 只看该作者
ttxs_2013 发表于 2014-4-25 15:03
是这样么?模块用到的头文件已经添加进去了(就是csl_mcbsp.h),这个例程中已经有!如果模块中的csl库中 ...

你们说的应该是对的,是我弄错了。datasheet给出的函数是这个形式:Uint 16 MCBSP_FGET(REG#,FIELD)
而文件csl_mcbsphal.h中的确有这个函数的宏定义,不过是这样的:
#define MCBSP_FGET_H(Handle,Reg,Field)       _MCBSP_##Reg##_FGET(((MCBSP_PrivateObj*)(Handle))->Port,##Field) ,我按照.h文件中的函数格式,重新编译了下,没有错误,也有返回值。

使用特权

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

本版积分规则

31

主题

125

帖子

4

粉丝