野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10754|回复: 3

我故意写错了2个地方,结果编译程序不报错?!

[复制链接]
发表于 2017-12-28 21:54:51 | 显示全部楼层 |阅读模式
我故意写错了2个地方,结果编译程序不报错?!


在 stm32f10x.h 定义中,

第10行,#define GPIOBCRL    *(unsigned int *)(GPIOB_BASE +0X00)

第24行,uint32 CRL;

我定义的都是 CRL

问题1:

在mail.c里,我把

第16行,故意把标号写错成 :GPIOBCRL2

第22行,故意把标号写错成 :GPIOB->CR

编译程序,居然都不报错?!

问题2:

在 stm32f10x.h 中,我定义了结构体 #define GPIOB  ((GPIO_TypeDef *) GPIOB_BASE)

但是 在mail.c里 我写完 GPIOB-> ,后面不自动弹出结构体内的元素选项?!正常情况下,写完右键头后,应该是会自动弹出结构体内的元素选项呀?这个是怎么回事?


请教两个问题 1 .png

请教两个问题 2 .png

源程序在这里:
12.28.rar (228.25 KB, 下载次数: 2)



回复

使用道具 举报

发表于 2017-12-29 08:45:32 | 显示全部楼层
你还没编译呢,先编译看看,不要依赖即时的语法检测,以编译结果为准
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 21:43:03 | 显示全部楼层
改成elif后面都正常了.png

有结构体内的元素选项了.png

把       else if

改成 #elif
就好了,前面,没有#的原因。

感谢,大家的回复。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-5 21:23 , Processed in 0.063933 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表