你好早上好,
我们尝试制作一些卡,但我们的制造商犯了一个错误,挂载了
STM32l4r5zit6p 而不是 stm32l4r5zit6。
似乎我们能够通过REALICE工具(使用st-link进行连接、擦除、读取、编程内部存储器)对uC进行正确编程,但是uC有一些奇怪的行为,例如:
我们在引脚 PC_12 和 PD_2 上配置的 uart3 无法正常工作。
我们尝试了一个非常简单的程序代码(如下所示),使用带有 stm32l4r5zit6 的旧板以及新板 stm32l4r5zit6p。
- #include "mbed.h"
- #define MAX_LOG_SIZE 2048
- UnbufferedSerial USB (PC_12, PD_2, 115200); //TX, RX
- char buf_log[MAX_LOG_SIZE] = {0};
- uint32_t num_log;
- int main(void){
- while (1)
- {
- ThisThread::sleep_for(2s);
- num_log = sprintf(buf_log, "nr--- START TEST PROGRAMnr");
- USB.write(buf_log, num_log);
- }
- }
当我们为旧板供电时,它通过 UART 引脚发送信息,将 RX 和 TX 信号置于高电平(我们用示波器检查),所以旧板可以正常工作。但是新的不发送任何东西,RX 和 TX 引脚永远处于低电平。
阅读数据表,我们注意到两块板之间的引出线和功能存在一些差异。但是我们注意到的差异与此 uart 无关,因此我们无法确认我们检查的差异是否影响了这一点。