按照视频教程的方法,不知道为什么会像图里一样报错,有没有大佬能解答一下?
离线
这俩一样吗?RCC_APB2ENR RCC->APB2ENR,怀疑你在水贴,但我没有证据(
离线
再好好对对第5行
离线
RCC->不是RCC_
离线
看到了大家,是我照着抄的时候把减号打成下划线了,,,,还以为找不到寄存器是我软件搞坏了,,,谢谢各位大佬!
离线
瞬间涌现了高中刚学51单片机时候记忆
当时买了一本51的数,上面有个例程就是点灯。
书上是这样写的
#include <reg51.h>
void main()
{
while(1)
{
P1_2 = 1;
P1_3 = 0;
P1_4 = 1;
}
}
说编译好烧进去能够在对应的脚有电平。我一个字母一个符号都照抄了,编译不过....
当时一点概念都没,最后论坛网友提示说了一堆可能的原因。其中就有个说出来了上面其实其实是最低级的错误,其实是书上写错了,或者说P1_2是宏但没给定义
正确的操作应该是P^2=0;
改了就好了=_=
离线
@微凉VeiLiang
高中就接触了吗,好厉害,我51基本没学,,
离线
新手其实应该用VS Code之类的带有实时语法分析的编辑器好点,码字的时候就能显示出错误。
这样,像楼上这种低级错误是不可能留到编译阶段的。稍微熟练之后,一般都不会在编译阶段出现语法错误了。
我用的是22版的VS,也有错误提示但是只是某行报错
离线
实时语法分析,在码字的时候编辑器实时进行语法分析,有语法错误就会高亮显示。
将鼠标悬停在出现错的宏上,如果编辑器找不到其定义就会提示该宏未定义。
是出现的那一行小红字对不对 谢谢~~RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);刚刚把APB打成AHB竟然都没有报错,也不知道是不是我没注意到: (
离线
没有定义 RCC_APB2ENR,应该是你打错了
离线