
我是用的芯片是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的问题还是什么问题呢? |
STM32 F407骄阳电机版用DMA双缓存接收串口数据时,上电第一次接收区是memory1而不是memory0?
STM32F407骄阳版用DMA双缓存区接收串口数据,上电第一次接收到的数据在memory1而不是memory0
stm32f407无法配置定时器2为全部dma
FreeRTOS问题求解
使用stm32F407连接PHY芯片进行以太网通讯,一插网线就会进入错误中断。
ST的IMU和地磁计用motionfx库融合后航向角异常的问题
CUEBIDE生成的APP程序,在写入FLASH之后无法正常跳转。
有关Cubeide IAP 问题
stm32驱动st7735屏幕区分地图上的障碍物.
stm32cubumx使用1.28.0固件包无法初始化fsmc
没太看明白是什么意思。如果在上述条件下能收发数据,那串口工作应该是正常的。
既然用了STM32CubeProgrammer, 那么直接读取芯片内容试试看看成不成?
就是说编写了一个USART1收发数据的程序,然后通过ST-LINK烧写进去,运行这个程序,发现USART1串口可以正常收发数据,这说明USART1硬件是好的。
但是在ISP程序里面我通过USART1给它发送0X7F,它就没有响应
Boot 模式下串口操作关键是接收脚,连接不上时可以将RX脚上拉一个电阻再试试。同时串口3的PB11,PC11不要有扰动电平。
好的,我去把这两个RX上拉试一试。不过我还是不明白,就算UART1或者3的RX信号受到扰动,ISP程序应该会去测量这两个端口的波特率,那么PC指针不应该卡在0xFFFF_FFFE,这个地址不在程序ROM的地址范围里
假如其他口的接收引脚有信号,那么代码就会处理那个接收口的应用,相当于跑偏了。
好像是和选项字节有关系,你查一下试试