怎么学习HAl库函数,HAl库函数的版本?

关注

单片机 STM32 huihui163    2017-07-25   |   浏览量 383  

怎么学习HAl库函数,HAl库函数的版本?

hadc1.Instance = ADC1;
  hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
  hadc1.Init.ContinuousConvMode = ENABLE;
  hadc1.Init.DiscontinuousConvMode = DISABLE;
  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
  hadc1.Init.NbrOfConversion = 2;
  HAL_ADC_Init(&hadc1);
这是ADC初始化,左边的hadc1等等都是在那定义,找不到,大家在开发产品时直接可以用cube软件生成代码吗,​

全部回答

  • 我是爆米花啊 发表于 2017-07-25

    我不用cube,但是HAL库还是用的,下载好HAL库,用哪个外设添加哪个外设的库文件。找变量定义的话,局部变量在函数体前面肯定能找到定义,找到了定义就找到了这个变量的数据类型。右击数据类型跳转到数据类型的定义处,就可以看这个结构体的具体内容了。

    举报 评论 4 0

    huihui163 回复了 我是爆米花啊:这个找变量定义还是会的,您看一下我回复的截图 回复
    我是爆米花啊 回复了 huihui163:你那样子找应该找不着吧,hadc1是个结构体,他的数据类型是ADC_HandleTypeDef,你选中ADC_HandleTypeDef找过去,才能看到Instance这个成员啊。同时选中结构体变量和其中一个成员,然后查找定义应该不行吧。。。我没试过,感觉keil可能没那么智能 回复
    huihui163 回复了 我是爆米花啊:您说的对,是这样定义了,ADC_HandleTypeDef hadc1;对了,HAL库的版本不像标准库那样那么多版本吧 回复
    我是爆米花啊 回复了 huihui163:和标准库差不多吧,昨天下载了个 STM32F7的HAL库,貌似整个F7系列的都在里面了。一个系列一个库的样子。HAL库目前我也没怎么用 回复

  • 王奕 发表于 2017-07-25 云汉达人

    这个名字应该是建立工程的时候自己命名的~

    举报 评论 0

  • donatello 发表于 2017-07-26

    定义是在相应的头文件那里的,如果没有头文件的话那应该就是这个文件的顶部。再不然可以直接右键查找定义啊。

    举报 评论 2 0

    huihui163 回复了 donatello:您看一下我的回复截图, 回复
    donatello 回复了 huihui163:是选中hadc1五个字母再找定义,你选中了hadc1.Instance怎么找得到呢 回复

  • chen0000009 发表于 2017-07-26

    cube允许自定义变量名,不过建议还是用默认的,这样方便将来的移植

    HAL的库函数可以从HAL_driver那里找到,你要找哪个外设就去查哪个.c文件,比方说IO口输出的函数的定义就可以从hal_gpio.c找到,如下

    QQ截图20170726003210.jpg

    即使它自定义了函数名,那个函数的定义还是能从相应的hal_xxx.c那里找到

    举报 评论 2 0

    huihui163 回复了 chen0000009:HAL库没有版本吗,就像标准库的的3.5版本, 回复
    chen0000009 回复了 huihui163:有,不过都差不多的,无非就是改一些小bug, 回复

  • 邱云平 发表于 2017-07-26 云汉达人

    一条一条的看,不懂就翻看手册。

    举报 评论 0

  • Angel Cherry 发表于 2017-07-26 云汉达人

    607.PNG

    那種global變數通常是放在檔案頭

    文檔的話,CubeMX的F7放在<user>\STM32Cube\Repository\STM32Cube_FW_F7_V1.7.0\Drivers\STM32F7xx_HAL_Driver底下,其他類推

    608.PNG

    會用喔,做產品熟能生巧更好


    举报 评论 0

  • huihui163 发表于 2017-07-26

    1.png

    举报 评论 0

  • huihui163 发表于 2017-07-26

    1.png

    举报 评论 0

  • huihui163 发表于 2017-07-26

    1.png

    举报 评论 0

  • huihui163 发表于 2017-07-26

    1.png

    举报 评论 0

  • huihui163 发表于 2017-07-26



    举报 评论 0

  • shiyu 发表于 2017-07-26

    用到那个外设就去那个外设里面去看,比如ADC,下面肯定有一个stm32f4xx_hal_adc.c 还有扩展的stm32f4xx_hal_adc_ex.c ,里面有其包含头文件stm32f4xx_hal_adc.h​,stm32f4xx_hal_adc_ex.h可以查看里面的定义,快速找到要用的函数。​当然怎么让其工作得参考一下STM32FXXX中文或者英文手册,这样结合看

    举报 评论 0

  • shiyu 发表于 2017-07-26


    举报 评论 0

  • 我是爆米花啊 发表于 2017-07-26

    看看我给你的第二次回复,希望能帮到你。等会我试试

    举报 评论 0

我来回答

试用推荐

正点原子阿波罗STM32F429IGT开发板

产品总数:2个  申请人数:163

距离结束时间:

推荐达人 更多>

  • 邱云平 向ta提问

    冰山一角

    电子世界,其乐无穷。

    在行: 嵌入式 热门单片机 LED应用

  • 王奕 向ta提问

    Eagleson

    在学习FPGA的道路上 我们一起成长吧!

    在行: FPGA/CPLD

  • 靳飞 向ta提问

    汉云

    在路上的Linuxer

    在行: DSP技术 Linux 系统 STM32讨论区 PIC单片机 PCB技术/设计/定制

  • Angel Cherry 向ta提问

    MOP

    用愛和熱忱寫好每一行Code

    在行: FPGA/CPLD Linux 系统 热门单片机

  • 徐珂靖 向ta提问

    xukejing

    Linux系统 、热门开发板

    在行: Linux 系统