#define只有宏名定义是什么意思!
#ifndef__STM32F10x_CONF_H#define__STM32F10x_CONF_H#include"stm32f10x_type.h"#define_G...
#ifndef __STM32F10x_CONF_H
#define __STM32F10x_CONF_H
#include "stm32f10x_type.h"
#define _GPIO
#define _GPIOA
#define _GPIOB
#define _GPIOC
#define _GPIOD
#define _GPIOE
#define _GPIOF
#define _GPIOG
#define _AFIO
#endif
前面两行我懂,可是后面几个#define是什么意思?只有宏名,又不是定义头文件?求高手帮助。 展开
#define __STM32F10x_CONF_H
#include "stm32f10x_type.h"
#define _GPIO
#define _GPIOA
#define _GPIOB
#define _GPIOC
#define _GPIOD
#define _GPIOE
#define _GPIOF
#define _GPIOG
#define _AFIO
#endif
前面两行我懂,可是后面几个#define是什么意思?只有宏名,又不是定义头文件?求高手帮助。 展开
4个回答
展开全部
#include "stm32f10x_type.h"
意思是包含了一个名字为stm32f10x_type.h的头文件,这个文件应该在同一个压缩包里面找得到。#define _GPIO
意思是定义了GPIO管脚有输入输出功能
#define _GPIOA
#define _GPIOB
#define _GPIOC
#define _GPIOD
#define _GPIOE
#define _GPIOF
#define _GPIOG
这几句的意思是把ABCDEFG这些管脚的输入输出功能定义了,至于是输入还是输出要看你的其他部分代码了。
AFIO
意思是如果在你的程序中,某些外设用的是复用IO口,就必须开该复用时钟。
从以上看来这段程序应该是一块开发板的部分代码吧~
意思是包含了一个名字为stm32f10x_type.h的头文件,这个文件应该在同一个压缩包里面找得到。#define _GPIO
意思是定义了GPIO管脚有输入输出功能
#define _GPIOA
#define _GPIOB
#define _GPIOC
#define _GPIOD
#define _GPIOE
#define _GPIOF
#define _GPIOG
这几句的意思是把ABCDEFG这些管脚的输入输出功能定义了,至于是输入还是输出要看你的其他部分代码了。
AFIO
意思是如果在你的程序中,某些外设用的是复用IO口,就必须开该复用时钟。
从以上看来这段程序应该是一块开发板的部分代码吧~
展开全部
一般来说这样空的宏都是为了某些手段的,例如跨平台,比如说在windows下我让a赋值为10,在linux下要让a赋值为20,那么就可以这么写
#ifdef WINDOWS
a = 10;
#endif
#ifdef LINUX
a = 20;
#endif;
这样我只要在某个地方定义一个#define WINDOWS或者#define LINUX就可以在跨平台的情况下采取不同的策略了
当然了就算在一个平台下也有各种用法,总而言之语言是死的,人是活的,具体为什么这么做要看具体完成了什么功能
#ifdef WINDOWS
a = 10;
#endif
#ifdef LINUX
a = 20;
#endif;
这样我只要在某个地方定义一个#define WINDOWS或者#define LINUX就可以在跨平台的情况下采取不同的策略了
当然了就算在一个平台下也有各种用法,总而言之语言是死的,人是活的,具体为什么这么做要看具体完成了什么功能
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. 这里为了防止当你的程序中出现 typename时, 如果编译器不支持,就把typename换成空的。
2. 宏名和宏值是分开的,定义时有就有。
2. 宏名和宏值是分开的,定义时有就有。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为了移植
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询