STM32学习小心得

STM32ST公司推出的基于ARM-Cortex-M3内核的32位单片机,笔者认为,它的基础是51单片机,更基础的是C语言,在学习STM32代码的过程中,出现一些小问题,需要自己解决或是查询资料解决,当然,在这个学习过程中,代码出现错误了,百度!对,没错,可是有时候,一个相同的问题却是不同的地方出现的,这样就得就问题论问题,不能一概而论。

1

  代码已经写完,可是会出现这样的警告,  

在这个地方,没有回车,代码的结束应该新起一行,不论是怎样的文件代码的结束(不论是.c文件还是.h文件),都应该另起一行,否则代码运行会出现警告。

2》关于变量定义数据类型的问题,先上图:    

我把一个变量SendBuff[SENDBUFF_SIZE]usart.h文件里面定义为uint32_t的数据类型,然后在在usart.c 文件里面用调用这个变量,并且在main 函数里面,包含了这个usart.h这个文件,然后出错如图:

表示变量SendBuff重复定义,为什么呢?那是因为变量定义在.h文件里面,然后在main.c文件里调用这个.h文件,相当于把这个SendBuff变量同时在.hmain.c文件里面同时定义了,所以之后我把SendBuff这个变量的数据类型定义在usart.c文件里面,在main.c文件里用extern uint32_t SendBuff[SENDBUFF_SIZE] ,即使main.c文件调用了usart.h文件,代码依然没有错误,还有,无论在什么地方,想调用SendBuff这个变量,都可以用extern uint32_t SendBuff[SENDBUFF_SIZE] ,如图运行结果:

所以笔者认为,一般变量定义在.c文件里面比较好,避免代码出现重复定义的现象。

你可能感兴趣的:(STM32学习小心得)