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

2019-07-20 10:10发布

按照 视频新建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
        }
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 10:10
别用HAL库的,用我们自己的
caosix
2楼-- · 2019-07-20 14:57
 精彩回答 2  元偷偷看……
NewGuard
3楼-- · 2019-07-20 16:51
同求答案,我也遇到这个问题了,是跟着原子哥视频搭建的HAL库模版,不知道哪里出了问题?

一周热门 更多>