#define RCC ((RCC_TypeDef *) RCC_BASE) STM32部分程序求解1.#ifdef _RCC #define RCC ((RCC_TypeDef *) RCC_BASE)/*初学,不知道怎么理解这个定义,着急*/#endif /*_RCC */2.#ifdef _RCC RCC = (RCC_TypeDef *) RCC_BASE;/*

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 04:14:20
#define RCC   ((RCC_TypeDef *) RCC_BASE) STM32部分程序求解1.#ifdef _RCC  #define RCC                 ((RCC_TypeDef *) RCC_BASE)/*初学,不知道怎么理解这个定义,着急*/#endif /*_RCC */2.#ifdef _RCC  RCC = (RCC_TypeDef *)  RCC_BASE;/*

#define RCC ((RCC_TypeDef *) RCC_BASE) STM32部分程序求解1.#ifdef _RCC #define RCC ((RCC_TypeDef *) RCC_BASE)/*初学,不知道怎么理解这个定义,着急*/#endif /*_RCC */2.#ifdef _RCC RCC = (RCC_TypeDef *) RCC_BASE;/*
#define RCC ((RCC_TypeDef *) RCC_BASE) STM32部分程序求解
1.#ifdef _RCC
#define RCC ((RCC_TypeDef *) RCC_BASE)/*初学,不知道怎么理解这个定义,着急*/
#endif /*_RCC */
2.#ifdef _RCC
RCC = (RCC_TypeDef *) RCC_BASE;/* 1、这两段程序的运用区别? 2、为什么还需要stm32f10x_lib.c? 3、在keil MDK的软仿真时,无法用RCC来观察结构类型的RCC寄存器组,需要怎么做才可以实现? */
#endif /*_RCC */
十分感谢你即时解答,另外对 ((RCC_TypeDef *) RCC_BASE)语句结构搞不太明白,(RCC_TypeDef *)是将RCC_BASE强制转换为RCC_TypeDef 类型的指针么,在加上前面 #define RCC又作何理解呢? C语言参考书中没有“RCC_TypeDef *”类似的表达方式啊
类似语句还有
#ifdef _GPIOA
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
#endif /*_GPIOA */
也是第二句看不太明白

#define RCC ((RCC_TypeDef *) RCC_BASE) STM32部分程序求解1.#ifdef _RCC #define RCC ((RCC_TypeDef *) RCC_BASE)/*初学,不知道怎么理解这个定义,着急*/#endif /*_RCC */2.#ifdef _RCC RCC = (RCC_TypeDef *) RCC_BASE;/*
1.这个宏定义是把RCC宏定义到stm32RCC寄存器的分配的存储器单元的首地址上,其中RCC_TypeDef是stm32f10x_map.h中定义的结构体,用来表述RCC所有寄存器构成的.
2.这个是给RCC这个指针变量赋值的,从实际运行效果来讲没什么不同,这主要stm32固件库的一种编程风格.stm32f10x_lib.c包含了所有外设的声明头文件,里面有多个编译开关来选择相关外设.至于最后一小问,不好意思我用得是IAR编译环境,对mdk不熟悉.
另外,建议你好好研究一下,stm32的数据手册和固件库手册!如果英文不过关的话,可以分别下载中文手册学习.如果需要帮助可以访问我的空间,留言或是邮件联系我.