OpenEdv-开源电子网

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

新建HAL库工程模板delay_ms函数不好用

[复制链接]

2

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2017-8-22
在线时间
1 小时
发表于 2017-8-22 16:00:54 | 显示全部楼层 |阅读模式
1金钱
按照 视频新建HAL库模板,
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"



void Delay(__IO uint32_t nCount);

void Delay(__IO uint32_t nCount)
{
  while(nCount--){}
}

int main(void)
{

        GPIO_InitTypeDef GPIO_Initure;

    HAL_Init();                                                     //初始化HAL库   
    Stm32_Clock_Init(336,8,2,7);                                   //设置时钟,168Mhz

    __HAL_RCC_GPIOF_CLK_ENABLE();                   //开启GPIOF时钟
       
    GPIO_Initure.Pin=GPIO_PIN_9|GPIO_PIN_10;         //PF9,10
    GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;          //推挽输出
    GPIO_Initure.Pull=GPIO_PULLUP;                  //上拉
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;                     //高速
    HAL_GPIO_Init(GPIOF,&GPIO_Initure);

        while(1)
        {
                HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_SET);                //PF9置1
                HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_SET);                //PF10置1                         
                Delay(0x7FFFFF);
                HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_RESET);                //PF9置0
                HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_RESET);        //PF10置0  
                Delay(0x7FFFFF);
        }

//如果使用上面代码 程序没有错误,可以执行。


用下面代码时候,延时函数不好用,还不报错误
int main(void)
{
    HAL_Init();                            //初始化HAL库   
    Stm32_Clock_Init(336,8,2,7);          //设置时钟,168Mhz
        delay_init(168);                       //初始化延时函数
        LED_Init();                                                //初始化LED       
       
        while(1)
        {
        HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_RESET);         //LED0对应引脚PF9拉低,亮,等同于LED0(0)
        HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_SET);           //LED1对应引脚PF10拉高,灭,等同于LED1(1)
        delay_ms(500);                                                                                        //延时500ms
        HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_SET);           //LED0对应引脚PF9拉高,灭,等同于LED0(1)
        HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_RESET);         //LED1对应引脚PF10拉低,亮,等同于LED1(0)
        delay_ms(500);                                              //延时500ms
        }
}



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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2017-8-23 00:24:01 | 显示全部楼层
别用HAL库的,用我们自己的
回复

使用道具 举报

80

主题

537

帖子

0

精华

高级会员

Rank: 4

积分
748
金钱
748
注册时间
2014-9-30
在线时间
128 小时
发表于 2017-8-23 09:42:53 | 显示全部楼层
delay_ms(500);   貌似 没有 做 外部声明 。它不是 HAL库  自带的 标准函数。
回复

使用道具 举报

17

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1312
金钱
1312
注册时间
2017-3-1
在线时间
259 小时
发表于 2018-1-6 20:02:16 | 显示全部楼层
同求答案,我也遇到这个问题了,是跟着原子哥视频搭建的HAL库模版,不知道哪里出了问题?
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-4-20
在线时间
4 小时
发表于 2020-4-23 20:23:36 | 显示全部楼层
我也是这个问题,按照原子哥的教程去建立工程,发现delay_ms这个函数没用。但是拷贝原子哥的工程模板,就可用。这是问什么呀,原子哥。
回复

使用道具 举报

1

主题

16

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2020-4-15
在线时间
11 小时
发表于 2020-4-26 14:14:18 | 显示全部楼层
zhanghong888 发表于 2020-4-23 20:23
我也是这个问题,按照原子哥的教程去建立工程,发现delay_ms这个函数没用。但是拷贝原子哥的工程模板,就可 ...

参考另一个帖子:把HAL库文件的Inc和Src文件夹重新复制一次,替换一下就好。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-4-20
在线时间
4 小时
发表于 2020-4-26 21:10:10 | 显示全部楼层
TjuAlexNg 发表于 2020-4-26 14:14
参考另一个帖子:把HAL库文件的Inc和Src文件夹重新复制一次,替换一下就好。

嗯,是的。我测试了一下,你按照原子哥的教程去新建工程,但是所有的.c和.h文件都需要从“实验0-1 Template工程模板-新建工程章节使用”这个里面去复制,然后就好了。估计是有一些文件有问题,因为是新手,我也没有去仔细对比哪些文件不一样,期待各路大神们的解惑。。。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-8-23
在线时间
2 小时
发表于 2020-8-23 05:35:17 | 显示全部楼层
看看HALLIB下那三个文件是否删除的。。。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2022-1-2
在线时间
2 小时
发表于 2022-1-3 21:26:14 | 显示全部楼层
MxGxQx 发表于 2020-8-23 05:35
看看HALLIB下那三个文件是否删除的。。。

对的,把stm32f1xx_hal_timebase_rtc_alarm_template.c这种带template的模板文件从工程中删掉就好了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 05:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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