谁能帮我把这几段代码加上注释,给我稍微讲解一下?是串口的初始化代码 30

(1):voidpxa_gpio_mode(intmode){//mode=0x122intgpio=mode&GPIO_MD_MASK_NT;//gpio=0x22in... (1):
void
pxa_gpio_mode(int mode){ //mode=0x122
int gpio = mode
& GPIO_MD_MASK_NT; //gpio=0x22
int fn = (mode
& GPIO-MD-MASK_FN) >>8; //FN=0x01
int gafr;
if (mode &
GPIO_MD_MASK_DIR) //if(0)
GPDR (gpio)|=GPIO_bit(gpio);
else
GPDR
(gpio) &=GPIO_bit(gpio);
……
return;
}

#define GPIO_MD_MASK_NR 0x07f
#define GPIO_MD_MASK_FN 0x300
#define GPIO_MD_MASK_DIR 0x080
(2):

void pxa_gpio_mode(int mode){ //mode=0x122
...... //
gpio=0x22 fn= 0x01
if
(mode & GPIO_MD_MASK_DIR) //if(0)
GPDR(gpio) |= GPIO_bit(gpio);
else
GPDR(gpio) &= ~GPIO_bit(gpio); //(GPDR1)&=~0x04
gafr = GAFR(gpio) & ~(0x3
<< (((gpio) & 0xf)*2));
GAFR(gpio) = gafr | (fn << (((gpio) & 0xf)*2));
return;
}

#define GPIO_bit(x) (1 << ((x) & 0x1f))
#define GPDR(x) (*((((x) & 0x7f) < 96) ? &_GPDR(x)
: &GPDR3))
#define _GPDR(x) __REG2(0x40E0000C, ((x) & 0x60)
>> 3)
# define __REG2(x,y) (*(volatile
unsigned long *)((unsigned long)(x) +
(y)))
展开
 我来答
悟渴侯成yY
2013-06-07 · 超过12用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:29.8万
展开全部
双眼已瞎。表示高中狗搞不懂代码什么的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenchuncool
2013-06-09 · TA获得超过155个赞
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:111万
展开全部
你先说清楚是什么硬件上的串口,什么编译环境下的代码,没头没尾来一句求注释神仙也帮不了你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式