野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17180|回复: 3

想问下HAL库中这几个初始化变量怎么用?

[复制链接]
发表于 2017-8-15 12:40:09 | 显示全部楼层 |阅读模式
10火花
本帖最后由 1598025967 于 2017-8-15 18:26 编辑


QQ截图20170815123220.png

最佳答案

查看完整内容

其实就充当中间变量的作用,获取需要传输数据数组的基地址及大小,你也可以自己声明一个变量,用法一样。HAL库将这些本身是用户去写的代码全部都写好了,用户只需要上层调用,用户根本不需要用到这个底层过渡的中间变量。
回复

使用道具 举报

发表于 2017-8-15 12:40:10 | 显示全部楼层
其实就充当中间变量的作用,获取需要传输数据数组的基地址及大小,你也可以自己声明一个变量,用法一样。HAL库将这些本身是用户去写的代码全部都写好了,用户只需要上层调用,用户根本不需要用到这个底层过渡的中间变量。
  1. HAL_StatusTypeDef HAL_SMARTCARD_Transmit_DMA(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size)
  2. {
  3.   uint32_t *tmp;
  4.   
  5.   if((hsc->State == HAL_SMARTCARD_STATE_READY) || (hsc->State == HAL_SMARTCARD_STATE_BUSY_RX))
  6.   {
  7.     if((pData == NULL) || (Size == 0))
  8.     {
  9.       return HAL_ERROR;
  10.     }

  11.     /* Process Locked */
  12.     __HAL_LOCK(hsc);

  13.     hsc->pTxBuffPtr = pData;
  14.     hsc->TxXferSize = Size;
  15.     hsc->TxXferCount = Size;
复制代码



回复

使用道具 举报

发表于 2017-8-15 14:52:59 | 显示全部楼层
没用过HAL库,帮顶
回复

使用道具 举报

 楼主| 发表于 2017-8-16 17:57:37 | 显示全部楼层
cancore 发表于 2017-8-15 22:53
其实就充当中间变量的作用,获取需要传输数据数组的基地址及大小,你也可以自己声明一个变量,用法一样。HA ...

嗯嗯,花时间自己看了一下源代码,清楚多了,谢谢你的讲解!
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-16 14:51 , Processed in 0.037557 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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