hal相关内容

stm32 Hal 库中的回调函数如何工作?

众所周知,Hal Lib 提供了一些回调函数来管理硬件中断.但我不知道它们是如何工作的? 事实是我正在使用HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)这个函数来接收其他设备的数据并检查这些数据.所以我使用usart中断来接收它们.> 但是不知道回调函数什么时候执行,是取决于接收缓冲区的长度还是数据的缓冲区? 我猜在接收到一个字符 ..
发布时间:2021-11-30 13:59:05 其他开发

如何减少 STM32L4 HAL 库的 SPI 开销时间

我使用的是 STM32L476RG 板和 HAL SPI 功能: HAL_SPI_Transmit(&hspi2, &ReadAddr, 1, HAL_MAX_DELAY);HAL_SPI_Receive(&hspi2, pBuffer, 4, HAL_MAX_DELAY); 我需要以最大速度从加速度计的缓冲区接收数据,但这些函数存在延迟问题.正如您在示波器屏幕截图中看到的那样,有几微秒没有任 ..
发布时间:2021-11-26 18:23:26 其他开发

使用 STM32 和 HAL 将 DWT 周期计数转换为时间

我正在 FreeRTOS 中的 STM32F302R8 上进行开发.我正在使用 here 来分析执行时间.我的 DWT 周期计数似乎有效,但我不确定如何将其转换为秒.从我在网上收集的信息来看,循环计数似乎是基于 CPU 频率的.哪个 HAL 函数将为我返回正确的 CPU 频率?我认为这是以下之一 uint32_t HAL_RCC_GetSysClockFreq(void);uint32_t HA ..
发布时间:2021-11-17 22:36:01 其他开发

HAL_UART_Transmit_IT:只发送几个字节

我在使用 FreeRTOS 的 STM32F407 上遇到了问题.到目前为止,发送到 xbee 模块的大部分消息都已发送.只有有时(5 到 60 分钟后)TX 过程会被中断. 在调试会话中,我可以看到,在 2 个字节(约 40 个字节)之后不再设置 TXEIE.此外,UART_HandleTypeDef 的 TxXferCount 为 42(TxXferSize:44).SR-Registe ..
发布时间:2021-08-30 19:28:54 其他开发

STM32 HAL USART 通过中断接收

我在通过 USART 接收数据时遇到了一些麻烦.我真正想要实现的是,我可以通过 USART 接收没有特定长度(只有最大可能长度)的命令.所以我使用中断例程来检查接收到的每个字符,但不知何故我仍然无法实现我想要的.每次收到新字符时都会调用该例程,但不知何故 HAL_UART_Receive_IT(&huart1,rx_data,buff_size_rx) 没有实时升级,然后我在检查 rx_data[ ..
发布时间:2021-08-30 19:27:34 其他开发

STM32F4 UART HAL 驱动程序

我正在研究如何使用这个新的 HAL 驱动程序.我想使用 HAL_UART_Receive_IT() 接收数据,它设置设备在接收到数据时运行中断函数. 问题是你必须在中断触发之前指定要读取的数据长度.我计划发送控制台之类的不同长度的命令,因此不能有固定长度.我认为唯一的方法是一次读取单个字符并构建一个单独的字符串. HAL 驱动程序似乎有问题,如果您将 HAL_UART_Receive_ ..
发布时间:2021-08-30 19:27:20 其他开发

如何使用 JSON HAL 处理嵌套资源?

想象一个 REST 端点 (/employees) 以 JSON HAL 格式为员工页面提供服务.一名员工居住在一个国家,该国家位于一个大陆. 对于国家和大洲,也有单独的端点. 返回的页面包含典型的 _embedded 字段和员工数据.员工资源还包含嵌套的 country 资源.这个嵌套的 country 资源还包含 _links. 在这种情况下,输出将是: GET/emplo ..
发布时间:2021-07-09 19:20:40 其他开发

实现redis缓存后,Spring数据休息应用程序没有从数据库中获取数据

我正在为我的 spring 数据休息 (hal) api 实现 Redis 缓存.需求:第一次调用数据库后,将所有数据缓存到redis,对redis进行操作.比如添加记录应该首先发生在缓存中,然后在事务中插入到数据库中. 我为 JpaRepository 之一实现了缓存,但是当我通过调用/states 端点执行隐式 findAll 时,我没有得到任何记录,即使我在数据库中有 10k 条记录. ..
发布时间:2021-07-05 20:15:27 其他开发

HAL_Delay()陷入无限循环

我被HAL_Delay()函数困住了.当我调用此函数HAL_Delay()时,控件陷入无限循环.在寻找问题时,我发现了这个问题 http://www.openstm32.org/forumthread2145#threadId2146 在此特别声明中,我引述“链接器文件存在问题,请使用所附的链接器.您需要分别映射两排内存,因此首先是SRAM1 96K,然后是32K SRAM2.我认为应 ..
发布时间:2021-05-15 21:10:50 其他开发

STM32H7 LAN8742 LwIP仅在加电后才能正常工作,而在复位后无法正常工作

我手头有一个奇怪的问题,以前从未见过.但是,我仍在尝试找出问题所在.我有一个STM32H753VIT和一个连接到它的LAN8742以太网控制器.我在NO-SYS模式下运行LwIP.它仅在冷启动后才能正常工作,但在硬件重置(按钮或ST-LINK探针)后无法正常工作.它运行一个简单的TCP回显服务器.如果运行,我可以对其进行ping操作,并且它会响应TCP客户端. 但是在硬件重置后,我不再可以对 ..
发布时间:2021-05-04 21:01:06 其他开发

在STM32的HAL中实现单按,长按和双按功能

我正在尝试实现单按,双按和长按功能,以执行不同的功能.到目前为止,我已经了解了单按和长按的逻辑,但是我不知道如何检测到双按.至于代码,我已经使用一个计数器实现了单按和长按,但是代码只在第一个if条件下停留. bool single_press = false;bool long_press = false;如果(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13)){HAL_ ..
发布时间:2021-05-04 19:03:02 其他开发

C,“外部"硬件抽象层中变量的类型

我正在研究硬件抽象层.该HAL的目的是在linux驱动程序和MCU驱动程序之间轻松切换. 我正在SPI接口上工作.以下是HAL的“打开"功能的签名.SPI的接口. hal/spi.h spi_handle_t spi_open(spi_port_t通道,spi_config_t配置); spi_port_t: 在Linux上,它是基本类型:uint32_t 在MCU上, ..
发布时间:2021-05-04 19:02:50 其他开发

回调函数如何在stm32 Hal库中工作?

众所周知,Hal Lib提供了一些回调函数来管理硬件中断.但是我不知道它们如何工作? 事实上,我正在使用 HAL_UART_RxCpltCallback(UART_HandleTypeDef * huart)这个功能来接收其他设备的数据并检查这些数据.因此,我使用usart中断来接收它们. > 但是我不知道何时执行回调函数,这取决于接收缓冲区的长度还是数据的缓冲区? 我想硬件中断将 ..
发布时间:2021-04-12 19:18:58 其他开发

使用STM32和HAL将DWT周期计数转换为时间

我正在FreeRTOS中开发STM32F302R8.我正在此处来描述执行时间.我的DWT周期计数似乎有效,但是我不确定如何将其转换为秒.从我在线收集的数据来看,周期数似乎是基于CPU频率的.哪个HAL函数将为我返回正确的CPU频率?我认为这是以下其中之一 uint32_t HAL_RCC_GetSysClockFreq(void);uint32_t HAL_RCC_GetHCLKFreq(vo ..
发布时间:2021-04-09 19:29:08 其他开发

Android传感器硬件抽象层

我正在研究Android(Samsung Galaxy S3上的Jelly Bean)中的传感器数据采集.我是Android/Linux内部人员的新手. 我正在尝试阅读有关传感器样本如何从驱动程序扩展到用户空间的Android资源.作为参考,请此处. 我可以从SensorManager一直到SensorService.我可以看到内核模块加载基础结构,事件输入设备的注册以及驱动程序(例如Gal ..
发布时间:2020-11-28 23:31:23 移动开发

多处理器上的Stopwatch.GetTimeStamp

Stopwatch.GetTimeStamp()可能返回由于BIOS或硬件抽象层中的错误,不同处理器上的计时结果不同。 有人知道这些错误在存储什么吗?具体来说? 不同处理器上的时间戳是否可能完全不相关-或仅相差很小(亚毫秒)最多)? 不同处理器上的数字是否会随时间推移而漂移-那么实际上会导致上述“完全不相关的时间戳”吗? (我认为不同处理器上的不同频率可能会这样做) 解决方案 ..
发布时间:2020-10-02 21:02:14 C#/.NET

使Android使用新的Audio HAL需要什么

我正在编写一个新的Android Audio HAL,以使我的应用可以将音频输入其他应用,以使我的手持式远程麦克风输入能够到达Google应用.本质上是虚拟音频电缆. 它正在进行中. 我可能会覆盖AUDIO_DEVICE_IN_BACK_MIC,但这是开放的建议. 我对如何确保Android使用此HAL进行输入感到怀疑. 我需要替换audio.primary.default.so ..
发布时间:2020-08-30 05:29:28 移动开发

HAL_SetDate将年份设置为错误的值

我正在将STM32F030RCT6与CubeMX一起使用.设备是数据记录器,而RTC是不会失败的主要事物.在勘误表中,有一些有关RTC影子寄存器的信息. 我将CubeMX配置为不生成MX_RTC_Init()函数,并且到目前为止它一直可以正常工作. (我正在使用LSE) 我需要从GSM时间更新时间/日期,但是当我使用HAL_SetDate()将年份设置为 18 时,经过一小段延迟后,我 ..
发布时间:2020-07-20 20:06:40 其他开发