DSP关键字cregister (关于IER,IFR找不到定义)

DSP关键字cregister (关于IER,IFR找不到定义)

DSP2833X_Device.h文件里有两个变量IER,IFR,只有声明却没有找到定义

extern cregister volatile unsignedint IFR;

extern cregister volatile unsignedint IER;

打开spru514d(TMS320C28x Optimizing CCCompiler v6)手册,

大概意思就是:cregister是编译器扩展的C的关键字,用于高级语言C来直接控制寄存器。

当你使用这个关键字定义一个变量时,编译器会把它和表6-2IER,IFR比较,如果名字相同则把这个变量当做是IERIFR寄存器的引用,意思就是说编译器内部好像已经定义了IER,IFR的变量,你只需要extern声明一下就可以使用这个变量,编译器就会自动帮你实现它的定义。

当然一般我们操作寄存器都会在前面加上一个volatile关键字。

然后就是告诉你用法,如或与操作来直接操作这个寄存器。

像这样的用法以前玩单片机或者STM32的我都从来没见过。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
extern是C语言中的一个关键字,用于声明变量或函数的定义在其他文件中。它可以提示编译器在其他模块中寻变量或函数的定义。在DSP编程中,extern关键字常用于声明外部函数或变量,以便在当前文件中访问其定义。例如,extern void DSP28x_usDelay(unsigned long Count)声明了一个名为DSP28x_usDelay的外部函数。这个函数的具体定义可能位于其他文件中。在使用extern关键字时,可以通过指定文件路径或者链接指定来告诉编译器在哪里定义。你可以在链接中到更多关于extern的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [DSP关键字extern,cregister,Near ,Far,restrict,volatile](https://blog.csdn.net/weixin_34113237/article/details/93723913)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [dsp pid算法测序](https://download.csdn.net/download/bay115/6925013)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值