问题标签 [nucleo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
stm32 - 通过 USART 访问 STM32L4 引导加载程序:无 ACK
我正在尝试访问 Nucleo L476RG“从”板的引导加载程序。
“主”板是 Nucleo L496ZG 板。在我的程序中,我DigitalOut
在主板上定义了一个名为extBoot0
, extReset
。这些连接到从板上的boot0
和引脚。NRST
此外,我有一个在主机上Serial
调用的实例usart
,它连接到从板上的 UART2。此外,似乎 BOOT1 已预设为运行引导加载程序,即它被断言为低电平并且不能更改为运行 SRAM 中的任何内容。
目前,在 中resetToBootloader
,我将 BOOT0 设置为高电平并将 NRST 降至低电平 0.1 秒,然后将其恢复为高电平。我观察到运行此功能确实会重置设备并阻止程序运行。
在initBootloader
中,我按照 AN2606 格式化串行:8 位,偶校验,1 个停止位。然后我通过该串行总线将 0x7F 发送到从板。我没有得到任何响应并且使用逻辑分析仪,我已经确认从机将它放在正确的引脚上,并且从机的 TX 输入没有变化。启动引导加载程序还需要做什么?
这是我的相关代码:
如果它有帮助,这是我的电路板设置的图片。
stm32 - NUCLEO-STM32F401RE 板上的 ADC 在输入信号超过 10kHz 时无法工作
c - STM32F207 Nucleo144板,写入永久内存
我目前正在研究 Nucleo f207zg。我想将其变量写入其永久存储器(EEPROM)。我怎样才能实现它?
我找不到相同的读取或写入功能。
stm32 - STM32 虚拟串口有什么问题?我打不开
我有 Nucleo STM32H743ZI 板。我正在使用 CubeMX HAL(我尝试了几个版本)和 TrueStudio。Windows 10 中出现“虚拟 COM 端口”(我尝试了默认的 Windows 驱动程序和 ST 驱动程序),但我无法打开端口。当我尝试打开它时,我的 C# 程序写给我“参数不正确”:
同样的消息写给我程序 Realterm,PuTTY 什么也不做,“Tera Term”程序工作正常——我可以向我的 MCU 程序发送和接收数据。
有人知道它是什么吗?
在我的 C# 程序和终端程序中,我使用相同的参数
USB 设备查看器信息:
stm32 - STM32H743ZI NUCLEO 144 和 LWIP - 无法 ping 板
希望一切顺利。我正在尝试使用 LWIP 中间件 ping STM32H743ZI NUCLEO 144。CubeMX 生成的代码。
配置:
- 将 HCLK 设置为 400 MHz
- 启用 CPU ICache 和 DCache(在 Cortex_M7 配置下)
- 启用的 MPU(区域 0、区域 1 和区域 2)
- 启用 LWIP
- 选择 LAN8742 作为 Driver_PHY(在 LwIP>Platform Settings 下)
- DHCP 禁用(IP,掩码:255,255,255,000,网关:调制解调器 IP)
- 实时操作系统禁用
- LWIP_HTTPD、LWIP_HTTPD_CGI 已启用
- LWIP_HTTPD_SSI 已启用
- LWIP_HTTPD_MAX_TAG_NAME_LEN 设置为 16
- ICMP 已启用(LwIP 密钥选项>IPMP 选项中的 LWIP_BROADCAST_PING 和 LWIP_MULTICAST_PING)。
- 为 Keil V5 生成的代码
MX_LWIP_Process 添加到 While 循环中的主函数。
而(1)
{MX_LWIP_Process();
}
我不知道应该如何配置 CubeMX 或更改生成的代码才能 ping 我的板。
c++ - 如何通过带有UARTSerial类的USB在带有mbed的nucleo f446re之间发送字节数组?
我必须使用 UARTSerial 类在 nucleo f446re 和带有 ubuntu 的 pc 之间发送数据数组。
我在 mbed 上使用的代码如下:
我在电脑上运行的代码是:
我在电脑上收到的输出是:
如您所见,结果与我期望的不一样。
我已经尝试使用循环一次发送一个字节,但结果是一样的。
我不明白为什么我无法读取我试图在 pc 和 nucleo 板上刷新 USB 的 USB。
c - STM32F404K8:HAL、ADC+DMA在第一次读取后卡住
我正在尝试从三个不同的通道读取 ADC 值(现在,稍后它将是 6 个通道,每个 ADC 上 3 个),我想在随机时间后访问我的 ADC 缓冲区并稍后使用 UART 发送它. 现在它们只是连接到+3.3V,中间有一个微调电位器,导致所有三个引脚上的电压不同,这意味着我应该能够经常读取ADC吗?无论如何,要做到这一点,我使用的是 STM32f303k8 板,我已经设置了要使用的 ADC1 通道 2,4 和 11。我使用 STM32CubeMX 生成代码,使用 HAL 库,在其中我将其配置为在循环模式下使用 DMA,使用连续转换和不同等级进行扫描转换。启动时(使用断点),我可以看到代码的 init 部分工作正常。ADC 初始化并启动 DMA,我什至用正确的值从 ADC1 将值输入我的缓冲区,通道 1 != 通道 2 != 通道 3。问题是当继续进行时,进程卡在无限循环处理程序中,并且永远不会到达我的 while(1) 那里我有一些任意语句。代码如下。
我一直在遵循不同的指南,看看我是否设置错了。其中之一是https://tunizem.blogspot.com/2014/09/using-adc-with-dma-on-stm32.html?showComment=1562660027777#c1229743050555367742。我尝试将采样时间从 1.5 一直更改为 601.5 个周期,还尝试将 EOCSelection 从单个更改为顺序。
我在“uint32_t stopwatch = HAL_GetTick();”处有一个断点 我可以看到 adcValue1 正在读取值。这些都是正确的,因为有 3.3V 进入所有三个,不同之处在于电位计设置为在通道 2 上输出 2.2V,即它低于其他两个。但这是我唯一一次可以看到正在阅读,因为在此之后它陷入了无限循环。
stm32 - 未提供输入时 GPIO 中断触发
我有几个 GPIO 引脚配置为输入和按钮。按钮的中断效果很好(我需要添加一些去抖动)。但有时当按下按钮时,或者如果我只是用手指触摸插头引脚,其他 gio 中断就会触发。
gio 引脚配置有下拉电阻并设置为在上升沿触发。
为简单起见,我删除了我正在使用的大部分 gio 引脚,只显示了一个,但我为输入配置了以下内容。
PA4、PA7、PA10、PB6、PB8、PB9
c++ - if 语句在 Nucleo64 上不起作用,但在 Maple mini 上起作用
我有一个适用于 Maple Mini 的代码,但我必须将硬件更改为 Nucleo F030r8,因为它有更多的 ADC,而且它非常糟糕。在modbus_update()
函数中有一个大小的检查,inputBuffer
只有当这个变量的值大于 0 时,下面的代码才应该运行。
但即使值inputBuffer
恰好为0,它也会运行。奇怪的是,这段代码(使用不同的串口打开方式)在Maple Mini上完美运行。有谁知道可能是什么问题?
这是整个代码: