打印

单片机的C语言问题,求助高手!!!

[复制链接]
2085|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZXLRHL|  楼主 | 2010-11-22 16:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2010-11-22 16:41 | 只看该作者
典型的强制转换

使用特权

评论回复
板凳
liang7143| | 2010-11-22 16:45 | 只看该作者
2L正解。
换一个简单的,容易理解的。
int a;
float b;
a = (int)b;

使用特权

评论回复
地板
79424066| | 2010-11-22 18:23 | 只看该作者
强制转换?

使用特权

评论回复
5
chenyao1987| | 2010-11-22 18:52 | 只看该作者
强制转换

使用特权

评论回复
6
airwill| | 2010-11-22 19:56 | 只看该作者
NVIC_TypeDef  是 NVIC 的寄存器结构.
所以 NVIC = (NVIC_TypeDef *) NVIC_BASE; 是给 NVIC 赋值为指向 NVIC 寄存器空间(结构)的指针.

使用特权

评论回复
7
tfp09| | 2010-11-22 19:59 | 只看该作者
以后问问题专业点,你这条语句前不着店,后不见村的。你至少把几个变量的定义给出来。
如果我没猜错的话就是把NVIC_BASE转换为指向NVIC_TypeDef类型的指针变量

使用特权

评论回复
8
tjx727| | 2010-11-22 21:02 | 只看该作者
LS:
要是LZ意识到这点的时候,估计他自己也想明白了,呵呵

使用特权

评论回复
9
batsong| | 2010-11-23 08:50 | 只看该作者
靠学校学的C课程肯定是看不懂的,哈哈

使用特权

评论回复
10
cloudreaching| | 2010-11-23 09:05 | 只看该作者
你可以这么理解:
NVIC是一个指向结构体的指针,需要赋一个初值,指向哪里呢?应该是NVIC_BASE,但NVIC_BASE仅是一个绝对的地址,直接赋值c语法上是会报错的,因此需要强制转换,加上 (NVIC_TypeDef *) ,告诉编译器这个地址是一个指针,类型是 NVIC_TypeDef ,这样编译的时候就不会报错了,实际上什么也没有变。当然使用这个需要使用者对指针和地址需要非常明白其意义。

使用特权

评论回复
11
ZXLRHL|  楼主 | 2010-11-23 13:44 | 只看该作者
哈哈,我确实一下子没看明白!所以就粘了,不过还是很谢谢你! 7# tfp09

使用特权

评论回复
12
ZXLRHL|  楼主 | 2010-11-23 13:44 | 只看该作者
谢谢,明白啦
10# cloudreaching

使用特权

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

本版积分规则

个人签名:生活累,一小半源于生存,一小半源于攀比。

28

主题

100

帖子

0

粉丝