stm32相关内容
我需要下标/上标字符才能正确显示 O₂、CO₂、m²、m³.... 上标字符有效(m³,.. 没问题),但如果我想有一个下标 2,显示器要么只显示“O"而不是 O₂,要么在 O 后面显示一个“hyroglyphic"字母. 我检查了通配符范围,它是 0x02 到 0x2084.下标 2 的 Unicode 是 0x2082. 我还在通配符中添加了 ₂. 我的代码: void
..
我的 STM32F051 MCU 上的 SPI 模块有很多问题.我已将其配置为主设备以驱动从属闪存模块(这并不重要). 我正在尝试从内存中读取 8 个字节,这是“读取数据"消息的结构: 消息的前 4 个字节被发送,接下来的 8 个字节被接收.第一个字节是“读取数据"操作码,后面三个是数据地址,在这种情况下等于 0. 代码: memset(out, 0x00, 256);mems
..
我正在尝试在我的 IoT 项目中实施 SSL 客户端.我已将在 STM32Cube_FW_F7_V1.15.0 中找到的 SSL_Client 示例复制到我的项目中,并且能够成功编译.但是 SSL 握手失败并显示 -0x7780 MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE.我附上控制台调试输出: .播种随机数生成器...好的.正在加载 CA 根证书...好的(跳过
..
谁能告诉我我做错了什么或理解了什么愚蠢的事情?作为测试,我试图将一个简单的数字写入闪存并检索它.成功后,我会将其扩展为 6 个有符号值.我的设备是 STM32L476RG uint64_t 数据 = 88;Erase_Flash();HAL_FLASH_Unlock();地址 = ADDR_FLASH_PAGE_256;如果(HAL_FLASH_Program(FLASH_TYPEPROGRAM
..
我正在尝试通过 SPI 协议从连接到 STM2L072 Lora 探索套件的 EVAL-ADXL355-PMDZ 读取数据以用于项目.起初我使用的是 ADXL345 传感器,我能够读取加速度数据并将其转换为 g,没有任何问题.将传感器切换到 ADXL355 后,我在读取数据寄存器时一直收到全零. 我根据 ADXL355 传感器的数据表更改了 ADXL345 的初始代码(https://www
..
是否有人在 Nucleo 上通过 VCP 使用双工通信/或发现具有 RX TX 中断的单个 USART. 希望能够回显(传输)接收到的内容的示例代码. 解决方案 STM32CubeF4 和 STM32CubeF1 包. 另见此示例,其中微控制器使用 UART RX 中断将接收到的字节回传给发送方: #include "stm32f4xx.h"UART_HandleTypeDe
..
我正在尝试在 STM32/CC1120 系统上实现无线 m-bus 协议,但我找不到任何关于 wmbus 工作原理或任何实现示例的有用文档.任何人都可以帮我找到一些教程/文档/规格吗?谢谢:) 解决方案 无线 M-Bus 协议是欧洲规范 EN 13757 的一部分. 有一整套文档描述了 M-Bus 的不同方面.第 4 部分适用于无线 M-Bus. 您可以在 beuth 购买文件
..
我正在尝试将 TIM4 用于我的 STM32F4DISCOVERY 板上的正交编码器输入.这是我的代码: RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,启用);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitS
..
我的项目开始遇到一个问题,其中 SysTick 速率通常设置得太快,但并不总是设置得太快.相关的代码我没改过,好像和温度有关. 我正在使用 STM32F072B-DISCOVERY 开发板,在 Visual Studio Community 2015 上使用 VisualGDB. 我的初始化代码包括以下函数: void Setup_Init_Clocks(){//使用带有 PLL x
..
我使用的是 STM32F207VC 控制器.并且我正在使用 uvision4 IDE,当我尝试编译一个简单的代码时,我收到错误 tst1.axf: Error: L6218E: Undefined symbol SystemInit(从 startup_stm32f2xx.o 引用)..我已将 stm32f2x 文件放置到我的项目目录中. 但还是同样的问题. 请帮忙解决这个问题.
..
我在通过 USART 接收数据时遇到了一些麻烦.我真正想要实现的是,我可以通过 USART 接收没有特定长度(只有最大可能长度)的命令.所以我使用中断例程来检查接收到的每个字符,但不知何故我仍然无法实现我想要的.每次收到新字符时都会调用该例程,但不知何故 HAL_UART_Receive_IT(&huart1,rx_data,buff_size_rx) 没有实时升级,然后我在检查 rx_data[
..
我目前正在使用 ST-Link 调试器对我的 STM32F3 探索板进行编程.我使用的 IDE 是 Atollic TrueStudio 5.5.2.现在我面临一个非常奇怪的问题,就是我不断收到消息 初始化 ST-Link 设备时出错.原因:(-1) 无法连接到设备.请检查目标的电源和布线. 每当我想将程序下载到我的 STM32 中时.我尝试了一些从互联网上找到的解决方案,但问题仍然存
..
我在 STM32F4 微控制器上有一个 ChibiOS 3.x 程序,我使用 IWDG 看门狗在出现这样的错误时重置 MCU: int main() {iwdgInit();iwdgStart(&IWDGD, &wd_cfg);而(真){//... 做东西}} 如果我现在连接调试器并在任何时候停止程序(手动或通过断点),微控制器将在看门狗配置定义的超时后重置(因此会导致调试过程中出现问题)
..
我正在学习使用 GCC 工具链编写 ARM 代码.我遇到了一些找不到文档的 GCC 选项.有人可以帮忙解释一下他们是做什么的吗? -specs=nosys.specs -specs=nano.specs -specs=rdimon.specs -lnosys -specs=nosys.specs 和 -lnosys 有什么关系?你是一起使用它们,还是它们相互排斥,或者其他什么?
..
我刚开始使用 HAL 函数.函数HAL_GetTick() 的描述说它“提供了一个刻度 以毫秒为单位的值. 我不明白这个函数是返回滴答声还是毫秒.当然,要将滴答转换为毫秒,我需要知道一毫秒中有多少滴答,而且它是特定于 CPU 的. 那么 HAL_GetTick() 究竟返回什么? 编辑: 我真正的问题是知道如何以微秒为单位测量时间.所以我想从 HAL_GetTick() 获
..
我正在研究如何使用这个新的 HAL 驱动程序.我想使用 HAL_UART_Receive_IT() 接收数据,它设置设备在接收到数据时运行中断函数. 问题是你必须在中断触发之前指定要读取的数据长度.我计划发送控制台之类的不同长度的命令,因此不能有固定长度.我认为唯一的方法是一次读取单个字符并构建一个单独的字符串. HAL 驱动程序似乎有问题,如果您将 HAL_UART_Receive_
..
我正在学习 STM32 F4 微控制器.我试图找出使用 DMA 的限制. 根据我的理解和研究,我知道如果数据量小(即设备使用DMA产生或消耗少量数据),开销会增加,因为DMA传输需要DMA控制器来执行操作,从而不必要地增加系统成本. 我做了一些研究,发现了以下内容: DMA 的限制 CPU 将其所有线路置于高阻抗状态,以便 DMA 控制器可以直接在设备和内存之间传输数据,而
..
我想在 STM32 上使用 CMSIS 开始项目.网上冲浪,我找不到任何具体的教程.有些开始项目使用 SPL(ST 已停产).我想要一个在 stm32cube 上学习 CMSIS 的资源. 如果有人帮助我,我会很高兴. 问候 解决方案 下载并安装STM32Cube 为您的微型创建新的 STM32 立方体项目(我为 STM32F446RE Nucleo 创建了3.为项目命名并按
..
我正在尝试通过 uart 接收一个打包为字符串的数字.我正在发送数字 1000,所以我得到 4 个字节 + 空字符.但是当我使用 atoi() 将数组转换为数字并将整数与 1000 进行比较时,我并不总是得到正确的数字.这是我接收号码的中断处理函数.可能有什么问题? void USART1_IRQHandler(void){如果(USART_GetITStatus(USART1,USART_IT
..
我像PD_ODR_ODR4 = 1;一样编写了STM8 GPIO,但是stm32f10x.h没有这个功能.有没有定义位的.h文件. 抱歉,我不知道如何更好地解释这个问题. 我尝试了多个 GPIO 库. 强文本 解决方案 你在问题中提到了 stm32f10x.h,所以我假设它是关于 STM32F1 系列控制器的.其他系列有一些差异,但大体程序是一样的. GPIO
..