永发信息网

请高手解释一下下面程序

答案:2  悬赏:0  手机版
解决时间 2021-03-15 07:52
#define PERIPH_BASE ((u32)0x40000000)//端口地址
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)//端口地址
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)//端口地址
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)//不明白,这个预定义
//把GPIOA_BASE看成指向GPIO_TypeDef结构体的指针吗,GPIOA代表一个指针变量吗
int main()
{
typedef unsigned long u32;
typedef volatile unsigned long vu32;// volatile是什么意思
typedef struct
{
vu32 CRL;
vu32 CRH;
vu32 IDR;
vu32 ODR;
vu32 BSRR;
vu32 BRR;
vu32 LCKR;
} GPIO_TypeDef;
GPIOA->ODR = 0x1111;// GPIOA能直接指向GPIO_TypeDef结构体的成员ODR吗

}
有加分,急!
请讲的具体一些
谢谢
最佳答案
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
GPIOA的一个宏而已.
给后面的GPIOA->ODR = 0x1111;用的,其实就是一种指针的使用
/////////////////////////////////////////////////
这两句话.改成好理解的就是
GPIO_TypeDef * GPIOA;
GPIOA = (GPIO_TypeDef *) GPIOA_BASE; GPIOA_BASE表示指针指向的地方
类似 GPIOA = (GPIO_TypeDef *)1000;,
既然gpioa是指针当然可以 GPIOA->ODR了
//////////////////////////////////
typedef volatile unsigned long vu32;// volatile是什么意思
搞嵌入式的都知道 volatile 表示可变的.
也就是说这个变量可能在中断中访问,,仿真编译器优化读写vu32这个变量
全部回答
首先解释一下 void test(int a, int& b)   //这里a和b是形参,其中a是传值形参(只向内传数据,而内部发生的变化不带到外边),b是引用方式,属于变参,能将内部发生的变化 { a -= a * (a < 0) + (a > 0);  //相当于a = a-(a * (a < 0) + (a > 0));其中若a>0,那么a<0为0,a>0为1,;否则相反。 if (a != 0) b = a; else a = 10; } 接着解释主程序: x=-2 y=3 调用test(x, y)后,内部a=-2,b=3 a = a-(a * (a < 0) + (a > 0));相当于a=-2-(-2*(-2<0)+(-2>0)------a=-2-(-2*1+0)-----a=0 接着的条件语言使得:a=10,b=3 函数完成后,a的变化不带出函数体外,而b没有改变,所以x=-2,y=3 调用test(y,x)后,内部a=3,b=-2 a = a-(a * (a < 0) + (a > 0));相当于a=3-(3*(3<0)+(3>0)------a=3-(3*0+1)-----a=2 接着调用条件语句,由于a=2不为0,所以b=a,也就是b=2 函数完成后,a的值不带到函数外边,所以对应的y还是3,而b发生了变化,并要讲改变带到函数体外给对应的变量x,所以x的值为b的值,即x=2. 注意:在c语言中,引用相当于指针,也只有指针才属于变参,其他都为值参。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
四季红日用百货批零部我想知道这个在什么地方
乌龟洗澡用的牙刷可以是自己刷过牙的吗?乌龟
总在孩子面前玩手机,究竟对孩子的伤害有多大
月亮湾儿童生活馆怎么去啊,有知道地址的么
先画一条射线,再从射线的端点开始,截取一条
在番禺广场搭地铁到广州上下九步行街要多了钱
小伟烤猪手明日星城NO.1地址有知道的么?有点
铝材电泳后出现水纹是怎么回事
老朗逸装上飞歌导航后方控不能用
杰昌鞋业地址在什么地方,想过去办事
专升本艺术类专业有哪些
为什么本地连接老掉?一停用,在启用就可以,
辉成卡盟是什么
2015年一汽大众轿车二厂厂长是谁
西游记 张纪中版演员表
推荐资讯
雅安到汉源县多远
求有关"关爱生命,注意安全"的小诗歌
遵义市第一初级中学凉水校区地址有知道的么?
宋太祖赵匡胤是怎样当上皇帝求大神帮助
新艺玻璃装饰门业怎么去啊,有知道地址的么
武陟眼镜批发城在哪里啊,我有事要去这个地方
江西信息应用职业技术学院的女生宿舍怎么样?
ez的q能不能触发冰杖,和回声
扎克希阔拉在哪里啊,我有事要去这个地方
四川音乐学院学院 的二级学院 美术学院 你们
门头沟区怎么办理宽带啊
关于微信公众号认证,需要开设对公账户么?我
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?