关于“#pragma”的问题

[复制链接]
4819|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

呵呵,请拿文档确认下,我这没有这个编译器,谢谢
 楼主| shilei1014 发表于 2008-5-11 21:51 | 显示全部楼层

谢谢walnutcy

hotpower 发表于 2008-5-11 21:58 | 显示全部楼层

受教育了~~~

您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部