打印
[AT32F403/403A]

头文件定义对不上

[复制链接]
1099|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
34af9uc|  楼主 | 2022-5-30 22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我自学AT32F403AVGT7一直有一个问题头文件定义对不上不知道为什么,比如说编程手册里寄存器的名字叫GPIOx_CFGLR ,GPIOA_CFGLR 换到头文件里就只叫#define IOMUX_BASE                      #define EXINT_BASE
#define GPIOA_BASE

怎么也对不上,太难了,这个文件是怎么定义的名字有什么特点,有什么规律

使用特权

评论回复
沙发
muyichuan2012| | 2022-5-31 08:57 | 只看该作者
可以把编译警告内容发出来吗

使用特权

评论回复
板凳
34af9uc|  楼主 | 2022-5-31 10:34 | 只看该作者
不是编译问题,用寄存器开发,得自己重新定义寄存器名字

使用特权

评论回复
地板
34af9uc|  楼主 | 2022-5-31 10:35 | 只看该作者
muyichuan2012 发表于 2022-5-31 08:57
可以把编译警告内容发出来吗

不是编译问题,用寄存器开发,得自己重新定义寄存器名字

使用特权

评论回复
5
34af9uc|  楼主 | 2022-5-31 21:02 | 只看该作者
/******************************AT32F403AVGT7*************************************/
/******************************QQ774145445***************************************/
/******************************快手:共同学习stm8*********************************/
/******************************keil_mdk******************************************/
/********************************************************************************/

#define                bit0                0b00000000000000000000000000000001
#define                bit1                0b00000000000000000000000000000010
#define                bit2                0b00000000000000000000000000000100
#define                bit3                0b00000000000000000000000000001000
#define                bit4                0b00000000000000000000000000010000
#define                bit5                0b00000000000000000000000000100000
#define                bit6                0b00000000000000000000000001000000
#define                bit7                0b00000000000000000000000010000000
#define                bit8                0b00000000000000000000000100000000
#define                bit9                0b00000000000000000000001000000000
#define                bit10                0b00000000000000000000010000000000
#define                bit11                0b00000000000000000000100000000000
#define                wei12                0b00000000000000000001000000000000
#define                wei13                0b00000000000000000010000000000000
#define                wei14                0b00000000000000000100000000000000
#define                wei15                0b00000000000000001000000000000000
#define                wei16                0b00000000000000010000000000000000
#define                wei17                0b00000000000000100000000000000000
#define                wei18                0b00000000000001000000000000000000
#define                wei19                0b00000000000010000000000000000000
#define                wei20                0b00000000000100000000000000000000
#define                wei21                0b00000000001000000000000000000000
#define                wei22                0b00000000010000000000000000000000
#define                wei23                0b00000000100000000000000000000000
#define                wei24                0b00000001000000000000000000000000
#define                wei25                0b00000010000000000000000000000000
#define                wei26                0b00000100000000000000000000000000
#define                wei27                0b00001000000000000000000000000000
#define                wei28                0b00010000000000000000000000000000
#define                wei29                0b00100000000000000000000000000000
#define                wei30                0b01000000000000000000000000000000
#define                wei31                0b10000000000000000000000000000000

/********************************************************************************/                //指针定义
//#define                GPIOA_DATA                        (*(volatile unsigned int*)(0x40011200+0x0000))
//#define                                (*(volatile unsigned int*)(0x4002 1000+0x0000))
/********************************************************************************/                //CRM寄存器
//4.3 CRM 寄存器
//寄存器简称 基址偏移量 复位值
//CRM_CTRL 0x000 0x0000 XX83
//CRM_CFG 0x004 0x0000 0000
//CRM_CLKINT 0x008 0x0000 0000
//CRM_APB2RST 0x00C 0x0000 0000
//CRM_APB1RST 0x010 0x0000 0000
//CRM_AHBEN 0x014 0x0000 0014
//CRM_APB2EN 0x018 0x0000 0000
//CRM_APB1EN 0x01C 0x0000 0000
//CRM_BPDC 0x020 0x0000 0000
//CRM_CTRLSTS 0x024 0x0C00 0000
//CRM_AHBRST 0x028 0x0000 0000
//CRM_MISC1 0x030 0x0000 0000
//CRM_MISC2 0x050 0x0000 0000
//CRM_MISC3 0x054 0x0000 000D
//CRM_INTMAP 0x05C 0x0000 0000
#define                CRM_CTRL                        (*(volatile unsigned int*)(0x4002 1000+0x00))
#define                CRM_CFG                                (*(volatile unsigned int*)(0x4002 1000+0x04))
#define                CRM_CLKINT                (*(volatile unsigned int*)(0x4002 1000+0x08))
#define                CRM_APB2RST                (*(volatile unsigned int*)(0x4002 1000+0x0C))
#define                CRM_APB1RST                (*(volatile unsigned int*)(0x4002 1000+0x10))
#define                CRM_AHBEN                        (*(volatile unsigned int*)(0x4002 1000+0x14))
#define                CRM_APB2EN                (*(volatile unsigned int*)(0x4002 1000+0x18))
#define                CRM_APB1EN                (*(volatile unsigned int*)(0x4002 1000+0x1C))
#define                CRM_BPDC                        (*(volatile unsigned int*)(0x4002 1000+0x20))
#define                CRM_CTRLSTS                (*(volatile unsigned int*)(0x4002 1000+0x24))
#define                CRM_AHBRST                (*(volatile unsigned int*)(0x4002 1000+0x28))
#define                CRM_MISC1                        (*(volatile unsigned int*)(0x4002 1000+0x30))
#define                CRM_MISC2                        (*(volatile unsigned int*)(0x4002 1000+0x50))
#define                CRM_MISC3                        (*(volatile unsigned int*)(0x4002 1000+0x54))
#define                CRM_INTMAP                (*(volatile unsigned int*)(0x4002 1000+0x5C))
                                                                                       

/********************************************************************************/
/********************************************************************************/                //GPIO寄存器
//6.3 GPIO 寄存器
//寄存器简称 基址偏移量 复位值
//GPIOx_CFGLR 0x00 0x4444 4444
//GPIOx_CFGHR 0x04 0x4444 4444
//GPIOx_IDT 0x08 0x0000 XXXX
//GPIOx_ODT 0x0C 0x0000 0000
//GPIOx_SCR 0x10 0x0000 0000
//GPIOx_CLR 0x14 0x0000 0000
//GPIOx_WPR 0x18 0x0000 0000
//GPIOx_HDRV 0x3C 0x0000 0000

#define                GPIOA_CFGLR                (*(volatile unsigned int*)(0x4001 0800+0x00))
#define                GPIOA_CFGHR                (*(volatile unsigned int*)(0x4001 0800+0x04))
#define                GPIOA_IDT                        (*(volatile unsigned int*)(0x4001 0800+0x08))
#define                GPIOA_ODT                        (*(volatile unsigned int*)(0x4001 0800+0x0C))
#define                GPIOA_SCR                        (*(volatile unsigned int*)(0x4001 0800+0x10))
#define                GPIOA_CLR                        (*(volatile unsigned int*)(0x4001 0800+0x14))
#define                GPIOA_WPR                        (*(volatile unsigned int*)(0x4001 0800+0x18))
#define                GPIOA_HDRV                (*(volatile unsigned int*)(0x4001 0800+0x3C))

#define                GPIOB_CFGLR                (*(volatile unsigned int*)(0x4001 0C00+0x00))
#define                GPIOB_CFGHR                (*(volatile unsigned int*)(0x4001 0C00+0x04))
#define                GPIOB_IDT                        (*(volatile unsigned int*)(0x4001 0C00+0x08))
#define                GPIOB_ODT                        (*(volatile unsigned int*)(0x4001 0C00+0x0C))
#define                GPIOB_SCR                        (*(volatile unsigned int*)(0x4001 0C00+0x10))
#define                GPIOB_CLR                        (*(volatile unsigned int*)(0x4001 0C00+0x14))
#define                GPIOB_WPR                        (*(volatile unsigned int*)(0x4001 0C00+0x18))
#define                GPIOB_HDRV                (*(volatile unsigned int*)(0x4001 0C00+0x3C))

#define                GPIOC_CFGLR                (*(volatile unsigned int*)(0x4001 1000+0x00))
#define                GPIOC_CFGHR                (*(volatile unsigned int*)(0x4001 1000+0x04))
#define                GPIOC_IDT                        (*(volatile unsigned int*)(0x4001 1000+0x08))
#define                GPIOC_ODT                        (*(volatile unsigned int*)(0x4001 1000+0x0C))
#define                GPIOC_SCR                        (*(volatile unsigned int*)(0x4001 1000+0x10))
#define                GPIOC_CLR                        (*(volatile unsigned int*)(0x4001 1000+0x14))
#define                GPIOC_WPR                        (*(volatile unsigned int*)(0x4001 1000+0x18))
#define                GPIOC_HDRV                (*(volatile unsigned int*)(0x4001 1000+0x3C))

#define                GPIOD_CFGLR                (*(volatile unsigned int*)(0x4001 1400+0x00))
#define                GPIOD_CFGHR                (*(volatile unsigned int*)(0x4001 1400+0x04))
#define                GPIOD_IDT                        (*(volatile unsigned int*)(0x4001 1400+0x08))
#define                GPIOD_ODT                        (*(volatile unsigned int*)(0x4001 1400+0x0C))
#define                GPIOD_SCR                        (*(volatile unsigned int*)(0x4001 1400+0x10))
#define                GPIOD_CLR                        (*(volatile unsigned int*)(0x4001 1400+0x14))
#define                GPIOD_WPR                        (*(volatile unsigned int*)(0x4001 1400+0x18))
#define                GPIOD_HDRV                (*(volatile unsigned int*)(0x4001 1400+0x3C))
       
#define                GPIOE_CFGLR                (*(volatile unsigned int*)(0x4001 1800+0x00))
#define                GPIOE_CFGHR                (*(volatile unsigned int*)(0x4001 1800+0x04))
#define                GPIOE_IDT                        (*(volatile unsigned int*)(0x4001 1800+0x08))
#define                GPIOE_ODT                        (*(volatile unsigned int*)(0x4001 1800+0x0C))
#define                GPIOE_SCR                        (*(volatile unsigned int*)(0x4001 1800+0x10))
#define                GPIOE_CLR                        (*(volatile unsigned int*)(0x4001 1800+0x14))
#define                GPIOE_WPR                        (*(volatile unsigned int*)(0x4001 1800+0x18))
#define                GPIOE_HDRV                (*(volatile unsigned int*)(0x4001 1800+0x3C))

/********************************************************************************/

int        main()
        {
        while(1){}
        }

使用特权

评论回复
6
match007| | 2022-6-1 20:55 | 只看该作者
这是c语言的小技巧吧

使用特权

评论回复
7
redone| | 2022-6-7 21:38 | 只看该作者
耐下心来看看手册,
或者先验证下能否实现你想要的功能,再回过去研究定义

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

300

主题

457

帖子

60

粉丝