stm32相关内容

在stm32f4xx上freertos刻度因子2太快

我当前的freertos设置肯定有一个错误,因为当我使用任务延迟功能或计时器周期时,这两个时间都是所需时间的两倍. 我已经检查了什么: 调试变量:递增滴答声包括的所有三个部分(TIMER IRQ HANDLER,FREERTOS TICK HANDLER,FREERTOS TICK HOOK)被称为每10秒10,000个计时器.到目前为止还可以. 任务和计时器周期:将周期乘以2时,计 ..
发布时间:2021-05-03 19:35:35 Java开发

使stm32上的CRC与软件实现匹配

已更新.请参阅帖子末尾以获取工作代码 我已经为此生气了.如何使stm32f103上CRC单元的校验和与软件实现相匹配?Stm具有多项式 0x04C11DB7 和重置值 0xFFFFFFFF .因此,我尝试在python中进行计算. stm代码: uint32_t crc32_hard_block(uint32_t * buf,uint32_t len){CRC_ResetDR(); ..
发布时间:2021-04-24 21:17:31 Python

从makefile到Cmake-stm32

我想为我的stm32项目测试CLion,因为它现在支持远程调试!为此,我需要为我的项目设置Cmake,这是我的问题. 我尝试使用此链接,它似乎已被弃用我做了一些改变.它几乎可以构建,但是.elf .bin .hex存在问题. CMakeLists.txt: project(F466cmake)cmake_minimum_required(版本3.10)add_definitions ..
发布时间:2021-04-22 19:51:18 其他开发

较新版本的GCC引发reinterpret_cast错误

我正在开发一个嵌入式项目(在STM32上).我目前使用的是GCC 4.9.2,但我想切换到较新版本的工具链.不幸的是,我的代码在gcc 4.9.2上成功编译,在6.2.0或7.2.0版本上引发了reinpreted_cast错误,我也不知道为什么.看来,较新的gcc在将int转换为指针并返回int时遇到了一些问题-我认为这应该是正常的操作. 抛出错误消息: 1> STM32L4 \ CM ..
发布时间:2021-04-21 19:44:38 C/C++开发

上升沿中断在STM32 Nucleo上触发多次

我正在使用STM32 NUCLEO-F401RE微控制器板. 我有一个扬声器,该扬声器经过编程,可以在上/下推操纵杆时将频率改变一个设定值.我的问题是,有时(通常不是)向上/向下推操纵杆时,频率会多次增加/减少,这意味着ISR正在执行多次.同样,将InterruptIn对象设置为在上升沿触发,但是有时它也在下降沿执行(当操纵杆在上/下推后恢复到空档时).解决这个问题有帮助吗? void ..
发布时间:2021-04-19 20:29:40 C/C++开发

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

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

将ARM gcc生成的库从一个软浮点bi转换为硬浮点abi

我需要将我的固件(在使用arm-none-eabi_gcc构建的STM32L4x6上运行)与两个第三方库(我没有这些库的源代码)链接. 一个库使用硬浮点abi编译,而另一个则根本不使用浮点,并且可能与软浮点abi链接. 我知道两个abis都不兼容,并且我完全理解它们之间的区别,但是,如果一个库根本不使用浮点运算,该怎么办?是什么阻止了使用abi将其与其他代码链接? 在我搜索过的内 ..
发布时间:2021-04-09 19:27:41 其他开发

在没有IDE的情况下如何使用CMSIS?

我正在使用STM32F103C8T6,并且想使用CMSIS,这实际上只是寄存器定义,没有代码,让我的生活更轻松,同时仍然保持低水平.问题是我不知道如何安装该库以在命令行上与Makefile一起使用.所有文档似乎都绑定了特定于供应商的IDE,例如STM32CubeIDE. 我想要做的第一件事就是下载CMSIS库,该库是在 GitHub上找到的.但是,解压缩 ARM.CMSIS.5.6.0.pa ..
发布时间:2021-04-09 19:27:32 其他开发

为什么此函数指向自身偏移量为1?

我正在尝试使用C为Nucleo-64 Stm32F401re板编写裸机闪烁程序.但是,在开始调试错误时(它还没有闪烁),我发现了一个奇怪的地址,但没有找到任何解释.这是反汇编的相关部分的输出: blink.elf:文件格式elf32-littlearm.text部分的反汇编:08000000 ..
发布时间:2021-04-09 19:26:54 其他开发

CMSIS库是否应包含在版本控制中?

通常,我以前会包含设备专用的标头&版本控制中由芯片供应商(ST)提供的源和CMSIS-Core标头.它们并不多,我也没有更新它们的习惯.我使用STM32微控制器,但不使用 CUBE框架或标准外设库. 最近,我需要使用CMSIS-DSP库.CMSIS-DSP库带有大量的头文件和源文件.我决定使用大约5.4 MB的预编译库(libarm_cortexM4lf_math.a).但是现在我开始质疑他 ..
发布时间:2021-04-09 19:26:48 其他开发

STM32F103 GPIO端口

我有一个STM32F103C8 MCU,我想在没有Cube MX的情况下控制GPIO寄存器.MCU有一个嵌入式LED,我想控制它.我当前正在使用CubeMX和IAR软件,并使用以下代码将销钉输出(在CubeMX中): HAL_GPIO_TogglePin(Ld2_GPIO_Port,Ld2_Pin);HAL_Delay(1000); 这可行,但是我想在没有Cube和HAL库的情况下做到这一 ..
发布时间:2021-04-09 19:24:55 其他开发

从RAM初始状态启动ARM Cortex-M3

我有两块ARM Cortex-M3芯片: STMF103C8T6 和 STM32F103VET6 . 设置为从RAM引导时, STMF103C8T6 PC 寄存器的初始状态为 0x20000108 ; STM32F103VET6 的 0x200001e0 . 我无法在数据表中找到有关这些地址的信息.他们为什么以这种方式启动,在哪里可以找到有关它的信息? 编辑: 要澄清.当芯 ..
发布时间:2021-04-09 19:24:52 其他开发

Linux用户空间代码,用于在Linux板和运行contiki udp发送方示例代码的每个节点之间进行通信

我正在使用Contiki创建一个物联网产品,其中涉及多个基于STM32L152的节点和一个Linux板.我有一个嵌入式Linux板(基于iMX6),该板从节点接收数据,使用蜂窝网络发送到Internet和10个感知不同环境参数的节点并交付给Linux板. Linux板具有运行边界/边缘路由器代码的协处理器,该协处理器的UART2线已连接到Linux板.我使用Contiki工具tunslip6创建t ..
发布时间:2021-02-08 19:17:41 其他开发

从没有中断引脚的传感器读取数据的最佳方法,需要一段时间才能完成测量

我正在尝试将压力传感器(MS5803-14BA)与我的电路板(NUCLEO-STM32L073RZ)连接. 根据不幸的是,该压力传感器没有任何可用于查看测量准备就绪时间的中断引脚,因此,我暂时解决了在请求新数据后延迟的问题. 我不喜欢当前的解决方案,因为在这10毫秒内,我可以让MCU在其他地方工作(我的板上还连接了其他几个传感器),但是没有任何中断引脚,我不确定解决此问题的最佳方法是什 ..
发布时间:2020-11-30 04:14:52 其他开发

在STM32上直接使用ODR寄存器

修改WriteLED()的代码以直接使用ODR寄存器.该代码应读取当前 寄存器的值,然后写回修改的值,具体取决于要点亮的LED 开启或关闭. 提供给我的示例代码 void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) { /* Check the parameters */ assert_param(IS_GPIO ..
发布时间:2020-11-20 00:25:12 其他开发

同步ISR访问是否需要使用volatile?

在下面的代码片段中,中断例程使用许多数组之一来执行它。所使用的数组是同步选择的,不是不是异步(在执行ISR时,它永远不会改变)。在单核微控制器上(如果体系结构很重要,此问题假定为STM32L496)在 foo volatile 修饰符c $ c>? int a [] = {1、2、3}; int b [] = {4,5,6}; int * foo; // int * volatil ..
发布时间:2020-10-29 03:25:32 C/C++开发

在STM32H7上使用执行跟踪片上缓冲器(ETB)

在某些特定情况下,我需要输出片上缓冲区(ETB)执行跟踪。我说的是操作功能,而不是调试阶段的ETM跟踪。 我已经阅读了《 Arm®CoreSight™ETM-M7技术参考手册》 ,但是关于使用此ETB功能的细节几乎没有。 还有此链接位于ARM信息中心,但我特别不清楚。 如何使用ETB? 编辑:由于STMicro的演示,我澄清了一些情况。它指出“ ETF可以用作跟踪缓冲区,用 ..
发布时间:2020-10-29 03:24:20 其他开发

无法在IAR Workbench上加载Flash loader

我正在IAR Workbench平台V7.70.1上工作,我试图下载一个简单的代码(一个简单的main仅带有一个while(1)),但是我没有成功在处理器上下载代码。我正在使用基于STM32F401RE处理器的STM公司的NUCLEO-F401RE板。我收到以下消息: 无法加载Flash loader:C:\Program Files\ \IAR Systems\嵌入式工作台7.5\arm\ ..
发布时间:2020-10-29 03:20:47 其他开发