打印

关于“#pragma”的问题

[复制链接]
3943|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shilei1014|  楼主 | 2008-5-10 10:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, IO, TE, tc, AD
我在阅读CYRF69213的范例
在main.c中出现:
#pragma  ioport   EP0_DR0:    0x050  // Endpoint 0 Data  Register 0
BYTE              EP0_DR0;
#pragma  ioport   EP0_DR1:    0x051  // Endpoint 0 Data  Register 1
BYTE              EP0_DR1;
#pragma  ioport   EP0_DR2:    0x052  // Endpoint 0 Data  Register 2
BYTE              EP0_DR2;
#pragma  ioport   EP0_DR3:    0x053  // Endpoint 0 Data  Register 3
BYTE              EP0_DR3;
#pragma  ioport   EP0_DR4:    0x054  // Endpoint 0 Data  Register 4
BYTE              EP0_DR4;
#pragma  ioport   EP0_DR5:    0x055  // Endpoint 0 Data  Register 5
BYTE              EP0_DR5;
#pragma  ioport   EP0_DR6:    0x056  // Endpoint 0 Data  Register 6
BYTE              EP0_DR6;
#pragma  ioport   EP0_DR7:    0x057  // Endpoint 0 Data  Register 7
BYTE              EP0_DR7;


在lpradio.h文件中出现:
#pragma fastcall16 RadioReset
#pragma fastcall16 RadioRead
#pragma fastcall16 RadioWrite
#pragma fastcall16 RadioSetPtr
#pragma fastcall16 RadioSetLength
#pragma fastcall16 RadioFileRead
#pragma fastcall16 RadioFileWrite
#pragma fastcall16 RadioBurstRead
#pragma fastcall16 RadioBurstWrite
#pragma fastcall16 RadioSetFrequency
#pragma fastcall16 RadioSetChannel
#pragma fastcall16 RadioGetFrequency
#pragma fastcall16 RadioGetChannel
#pragma fastcall16 RadioSetTxConfig
#pragma fastcall16 RadioGetTxConfig
#pragma fastcall16 RadioSetXactConfig
#pragma fastcall16 RadioGetXactConfig
#pragma fastcall16 RadioSetFrameConfig
#pragma fastcall16 RadioGetFrameConfig
#pragma fastcall16 RadioSetThreshold32
#pragma fastcall16 RadioGetThreshold32
#pragma fastcall16 RadioSetThreshold64
#pragma fastcall16 RadioGetThreshold64
#pragma fastcall16 RadioSetPreambleCount
。。。。。。
请问,在与处理命令#pragma之后的的特征字符串“ioport”和“fastcall16”表示什么意思?
#pragma  ioport   EP0_DR0:    0x050  // Endpoint 0 Data  Register 0
BYTE              EP0_DR0;
这条命令似乎还有别的作用,请是否有,是什么啊?
谢谢
沙发
hotpower| | 2008-5-10 19:05 | 只看该作者

帮助顶一下,有用过的帮楼主一下~~~

使用特权

评论回复
板凳
walnutcy| | 2008-5-11 11:38 | 只看该作者

看看编译器与链接器的PDF,搜下关键词就OK了,

应该有的,

使用特权

评论回复
地板
walnutcy| | 2008-5-11 11:42 | 只看该作者

我胡乱猜一下,呵呵,

#pragma  ioport  应该是链接时定位的,
例如:
#pragma  ioport   EP0_DR0:    0x050  // Endpoint 0 Data  Register 0
BYTE              EP0_DR0;

是把变量EP0_DR0分配到0x050 ;请在链接器的PDF文档中搜索
#pragma 和 ioport两个关键词;


到于下面这个嘛,我猜是定义把函数链到RAM or ROM的,
同上,请搜索确认,
#pragma fastcall16 RadioSetPreambleCount

呵呵,请拿文档确认下,我这没有这个编译器,谢谢

使用特权

评论回复
5
shilei1014|  楼主 | 2008-5-11 21:51 | 只看该作者

谢谢walnutcy

使用特权

评论回复
6
hotpower| | 2008-5-11 21:58 | 只看该作者

受教育了~~~

使用特权

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

本版积分规则

8

主题

38

帖子

0

粉丝