结构体变量赋值

2019-08-21 13:16发布

本帖最后由 夜乄歌 于 2017-4-9 14:34 编辑

试着自己重映射定义结构体但是给结构体赋值的时候总是出现数据类型,之前我记得在那个帖子看到过的结果找了半天没找到,有没有之前遇到过类型情况的,分享下解决方法呗[mw_shl_code=c,true]#define PERIRH_BASE                        ((unsigned long)0x40000000)
#define APB1PERIRH_BASE                 PERIRH_BASE
#define APB2PERIRH_BASE                (PERIRH_BASE + 0x10000)
#define AHBPERIRH_BASE                (PERIRH_BASE + 0x20000)

#define RCC_BASE                        (AHBPERIRH_BASE + 0x1000)
#define GPIOE_BASE                         (APB2PERIRH_BASE + 0x1800)


#define        RCC_APB2ENR                        *(unsigned int *)(RCC_BASE + 0x18)
        
#define GPIOE_CRL                        *(unsigned int *)(GPIOE_BASE + 0x00)
#define GPIOE_CRH                        *(unsigned int *)(GPIOE_BASE + 0x04)        
#define GPIOE_ODR                        *(unsigned int *)(GPIOE_BASE + 0x0c)
#define GPIOE_BSRR                        *(unsigned int *)(GPIOE_BASE + 0x10)
#define GPIOE_BRR                    *(unsigned int *)(GPIOE_BASE + 0x14)
   

typedef unsigned int uint32_t;
typedef unsigned short uint16_t;

typedef struct                                //定义一个GPIO_Typedef类型的结构体变量。
{
        uint32_t CRL;
        uint32_t CRH;
        uint32_t IDR;
        uint32_t ODR;
        uint32_t BSRR;
        uint32_t BRR;
        uint32_t LCKR;
        
}GPIO_TypeDef;


# define GPIOE  ((GPIO_TypeDef*)GPIOE_BASE)
[/mw_shl_code]这个是stm32f10x.h里面的代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-08-21 15:17
先写个简单的结构体试试吧。你何必这么自己重新定义呢?很蛋疼。。。
szczyb1314
2楼-- · 2019-08-21 17:55
直接用unsigned int 不好吗,非得重定义吗
夜乄歌
3楼-- · 2019-08-21 23:48
正点原子 发表于 2017-4-9 19:18
先写个简单的结构体试试吧。你何必这么自己重新定义呢?很蛋疼。。。

我自己试着一步一步从操作地址到库。这段代码我在VS上试没问题的。但是这个就不知道咋回事了
夜乄歌
4楼-- · 2019-08-22 01:24
 精彩回答 2  元偷偷看……

一周热门 更多>