
我是用的芯片是STM32F407,外设接口只用到了USART1,UART2,UART6。将BOOT0连接VCC,BOOT1连接GND,用示波器测过这两个管脚上的电压是稳定的,而且供电也是稳定的。 但是用STM32CubeProgrammer通过UART1烧录程序的时候,它显示"Activating device [KO]",但是它的UART1可以收到也可以发送数据。然后我通过UART1给STM32F4发送"0x7F",正常的ISP程序应该会开始检测UART1的波特率然后回复"0x79",但是这个芯片什么也没给我发。 然后我通过ST-LINK检测芯片运行ISP程序的情况,发现PC指针一直在0xFFFF_FFFE卡着,如果点击"Run"就会报错"Unable to run application" 这个芯片应该没有锁,因为可以通过ST-LINK烧录程序并且正常运行。 我可以确定PCB的电路没有问题,因为我后来买了一个新生产批次的STM32F407,在这个PCB焊上去之后(同pin替换),就可以进入ISP然后通过UART1烧录。 大家帮我看一下这个芯片为啥会出现这种情况,是ISP的问题还是什么问题呢? |
STM32F4的IO口5V容忍问题
询问STM32F407两种USB可以实现的功能
TOF传感器(VL53L5),无法得到data ready
stm32编码器模式计数问题
nucleo板子自带的stlinkv3坏了咋整
在CUBEMX生成的STM32F407VET6的I2S主机接收模式与I2S主机发送模式能正常运行,如何进行动态调整或者如何实现主机全双工?
STM32F407 多机RS485串口通讯+地址位唤醒+DMA空闲线接收,无法进入中断服务程序。
设置RDP等级为2的同时,有什么办法可以确保后续还能够烧录程序
STM32F407VET6 I2S 采用DMA传输问题
关于使用cubemx配置stm32g473re的opamp工作模式:Programmable gain amplifier mode with external filtering
没太看明白是什么意思。如果在上述条件下能收发数据,那串口工作应该是正常的。
既然用了STM32CubeProgrammer, 那么直接读取芯片内容试试看看成不成?
就是说编写了一个USART1收发数据的程序,然后通过ST-LINK烧写进去,运行这个程序,发现USART1串口可以正常收发数据,这说明USART1硬件是好的。
但是在ISP程序里面我通过USART1给它发送0X7F,它就没有响应
Boot 模式下串口操作关键是接收脚,连接不上时可以将RX脚上拉一个电阻再试试。同时串口3的PB11,PC11不要有扰动电平。
好的,我去把这两个RX上拉试一试。不过我还是不明白,就算UART1或者3的RX信号受到扰动,ISP程序应该会去测量这两个端口的波特率,那么PC指针不应该卡在0xFFFF_FFFE,这个地址不在程序ROM的地址范围里
假如其他口的接收引脚有信号,那么代码就会处理那个接收口的应用,相当于跑偏了。
好像是和选项字节有关系,你查一下试试