OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3150|回复: 7

怎么从标准库移植到HAL那么难啊,请各位大神帮看看这些代码等效吗?

[复制链接]

1

主题

11

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2019-8-6
在线时间
10 小时
发表于 2020-5-24 19:02:23 | 显示全部楼层 |阅读模式
1金钱
void LTDC_Init(void)
{   
        u32 tempreg=0;
        u16 lcdid=0;

        lcdid=LTDC_PanelID_Read();                //读取LCD面板ID
//        RCC->APB2ENR|=1<<26;                        //开启LTDC时钟
//        RCC->AHB1ENR|=1<<1;                                //使能PORTB时钟
//        RCC->AHB1ENR|=0XF<<5;                         //使能PF/PG/PH/PI时钟  
       
  GPIO_InitTypeDef GPIO_Initure;
       
        __HAL_RCC_LTDC_CLK_ENABLE();
        __HAL_RCC_GPIOB_CLK_ENABLE();                        //使能GPIOD时钟
        __HAL_RCC_GPIOF_CLK_ENABLE();                        //使能GPIOF时钟
        __HAL_RCC_GPIOG_CLK_ENABLE();                        //使能GPIOG时钟
        __HAL_RCC_GPIOH_CLK_ENABLE();                        //使能GPIOH时钟
        __HAL_RCC_GPIOI_CLK_ENABLE();                        //使能GPIOI时钟

       
        GPIO_Initure.Pin=GPIO_PIN_5;
        GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP ;                 //推挽
        GPIO_Initure.Pull=GPIO_PULLUP;                        //上拉
        GPIO_Initure.Speed=GPIO_SPEED_HIGH;                //高速
        HAL_GPIO_Init(GPIOB,&GPIO_Initure);
       
        GPIO_Initure.Pin=GPIO_PIN_10;
        GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP ;                 //推挽
        GPIO_Initure.Pull=GPIO_PULLUP;                        //上拉
        GPIO_Initure.Speed=GPIO_SPEED_HIGH;                //高速
        GPIO_Initure.Alternate=GPIO_AF14_LTDC;        //复用为LTDC
        HAL_GPIO_Init(GPIOF,&GPIO_Initure);
       
        GPIO_Initure.Pin=GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_11;
        GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP ;                 //推挽
        GPIO_Initure.Pull=GPIO_PULLUP;                        //上拉
        GPIO_Initure.Speed=GPIO_SPEED_HIGH;                //高速
        GPIO_Initure.Alternate=GPIO_AF14_LTDC;        //复用为LTDC
        HAL_GPIO_Init(GPIOG,&GPIO_Initure);
       
        GPIO_Initure.Pin=GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
        GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP ;                 //推挽
        GPIO_Initure.Pull=GPIO_PULLUP;                        //上拉
        GPIO_Initure.Speed=GPIO_SPEED_HIGH;                //高速
        GPIO_Initure.Alternate=GPIO_AF14_LTDC;        //复用为LTDC
        HAL_GPIO_Init(GPIOH,&GPIO_Initure);
       
        GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_9|GPIO_PIN_10;
        GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP ;                 //推挽
        GPIO_Initure.Pull=GPIO_PULLUP;                        //上拉
        GPIO_Initure.Speed=GPIO_SPEED_HIGH;                //高速
        GPIO_Initure.Alternate=GPIO_AF14_LTDC;        //复用为LTDC
        HAL_GPIO_Init(GPIOI,&GPIO_Initure);
       
        /*
        GPIO_Set(GPIOB,PIN5,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU);                                //PB5 推挽输出,控制背光
        GPIO_Set(GPIOF,PIN10,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);                                //PF10               
        GPIO_Set(GPIOG,3<<6|1<<11,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);                        //PG6/7/11
        GPIO_Set(GPIOH,0X7F<<9,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);                        //PH9~15
        GPIO_Set(GPIOI,7<<0|0XF<<4|3<<9,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);        //PI0~2/4~7/9/10
         
        GPIO_AF_Set(GPIOF,10,14);                //PF10,AF14
       
        GPIO_AF_Set(GPIOG,6,14);                //PG6,AF14
        GPIO_AF_Set(GPIOG,7,14);                //PG7,AF14
        GPIO_AF_Set(GPIOG,11,14);                //PG11,AF14
       
        GPIO_AF_Set(GPIOH,9,14);                //PH9,AF14
        GPIO_AF_Set(GPIOH,10,14);                //PH10,AF14
        GPIO_AF_Set(GPIOH,11,14);                //PH11,AF14
        GPIO_AF_Set(GPIOH,12,14);                //PH12,AF14
        GPIO_AF_Set(GPIOH,13,14);                //PH13,AF14
        GPIO_AF_Set(GPIOH,14,14);                //PH14,AF14
        GPIO_AF_Set(GPIOH,15,14);                //PH15,AF14
       
        GPIO_AF_Set(GPIOI,0,14);                //PI0,AF14
        GPIO_AF_Set(GPIOI,1,14);                //PI1,AF14
        GPIO_AF_Set(GPIOI,2,14);                //PI2,AF14
        GPIO_AF_Set(GPIOI,4,14);                //PI4,AF14
        GPIO_AF_Set(GPIOI,5,14);                //PI5,AF14
        GPIO_AF_Set(GPIOI,6,14);                //PI6,AF14
        GPIO_AF_Set(GPIOI,7,14);                //PI7,AF14
        GPIO_AF_Set(GPIOI,9,14);                //PI9,AF14
        GPIO_AF_Set(GPIOI,10,14);                //PI10,AF14
       
        */
       

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2018-8-3
在线时间
8 小时
发表于 2020-5-24 19:02:26 | 显示全部楼层
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2019-8-6
在线时间
10 小时
 楼主| 发表于 2020-5-26 11:26:04 | 显示全部楼层
没有人帮看看吗?
回复

使用道具 举报

14

主题

141

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1124
金钱
1124
注册时间
2015-12-20
在线时间
119 小时
发表于 2020-5-26 11:52:53 | 显示全部楼层
在HAL库中,这些都需要在Cubemx中设置就可以了,会帮你自动生成代码。
回复

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2099
金钱
2099
注册时间
2017-2-11
在线时间
306 小时
发表于 2020-5-26 14:37:47 | 显示全部楼层
用STM32CubeIDE或STM32CubeMX自动生成代码,然后拷贝出来,MDK5新建文件夹添加进去,编译就行。我觉得MDK5还是好用很多,而且编译快,不容易出BUG。STM32CubeIDE编译的时候,莫名的出现编译错误(不清楚是不是Makefile规则有没有错误啥的)。STM32CubeIDE有可鉴之处,但是目前来说也不是稳定(个人观点),希望后期越来越稳定。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-5-27 01:10:45 | 显示全部楼层
什么问题?根据报错改就是了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2019-8-6
在线时间
10 小时
 楼主| 发表于 2020-5-28 00:38:34 | 显示全部楼层
关键是没有报错,但屏幕就是不显示。
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2019-8-6
在线时间
10 小时
 楼主| 发表于 2020-5-28 00:41:42 | 显示全部楼层
但用寄存器版本就没有问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-1 17:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表