当然,你是对的。闪烁:PIC32MX795F512H是在QFN64封装。我使用PGED1(引脚16)和PGEC1(15)作为ICSP引脚。我使用的UART是UART3(引脚上的U3RX 5,引脚6上的U3TX)。我选择这个UART是因为引脚5和6没有多路复用到它们的模拟功能,所以它们在复位后表现得像高Z。这个想法是,这个高Z将阻止引脚干扰ICSP过程。在芯片被编程之后,在UART3启用之前,RB0(PGED1)和RB1(PGEC1)被切换到._in(high-Z)。这一次防止ICSP引脚干扰UART3引脚。然而,UART通信不起作用。如果重新路由到不同的UART(UART1),一切正常。外部连接器有一个用于PGED1和U3RX的单个引脚。第二个引脚用于PGEC1/U3TX。我知道ICSP通过这个结构不可用。然而,调试设备不是盆装的,因此我可以使用不同的UART(UART1)来允许ICSP引脚在调试期间对ICD可用。UART数据的重新路由是通过代码中的“#ifdef_DEBUG”来处理的。我只有三个连接器插脚可用于外部世界:!MCLR、PGD和PGC。因此,我需要重新使用两个UARTRX/TX。
以上来自于百度翻译
以下为原文
You are right, of course. wink:
The PIC32MX795F512H is in a QFN64 package.
I am using PGED1 (pin 16) and PGEC1 (15) as ICSP-pins. The UART I am using is UART3 (U3RX on pin 5, U3TX on pin 6). I selected this UART because pins 5 and 6 have no analog functionality multiplexed to them, so they behave as high-Z after reset. The idea is that this high-Z will prevent the pins from messing with the ICSP-process. I can succesfully program the device.
After the chip has been programmed, RB0 (PGED1) and RB1 (PGEC1) are switched to digital_in (high-Z) before UART3 is enabled. This time to prevent the ICSP-pins to interfere with the UART3-pins. UART comms, however, do not work. If rerouted to a different UART (UART1), all is well.
The outside-world-connector has a single pin for PGED1 and U3RX. A second pin is used for PGEC1/U3TX.
I am aware of the unavailability of ICSP through this construct. Debug devices are, however, not potted and I can therefore use a different UART (UART1) to allow the ICSP-pins to be available to the ICD during debugging. This re-routing of UART-data is taken care of through "#ifdef _DEBUG" in the code.
I have no more than three connectorpins available into the outside world: !MCLR, PGD and PGC. I therefore need to re-use two of them as UART RX/TX.
当然,你是对的。闪烁:PIC32MX795F512H是在QFN64封装。我使用PGED1(引脚16)和PGEC1(15)作为ICSP引脚。我使用的UART是UART3(引脚上的U3RX 5,引脚6上的U3TX)。我选择这个UART是因为引脚5和6没有多路复用到它们的模拟功能,所以它们在复位后表现得像高Z。这个想法是,这个高Z将阻止引脚干扰ICSP过程。在芯片被编程之后,在UART3启用之前,RB0(PGED1)和RB1(PGEC1)被切换到._in(high-Z)。这一次防止ICSP引脚干扰UART3引脚。然而,UART通信不起作用。如果重新路由到不同的UART(UART1),一切正常。外部连接器有一个用于PGED1和U3RX的单个引脚。第二个引脚用于PGEC1/U3TX。我知道ICSP通过这个结构不可用。然而,调试设备不是盆装的,因此我可以使用不同的UART(UART1)来允许ICSP引脚在调试期间对ICD可用。UART数据的重新路由是通过代码中的“#ifdef_DEBUG”来处理的。我只有三个连接器插脚可用于外部世界:!MCLR、PGD和PGC。因此,我需要重新使用两个UARTRX/TX。
以上来自于百度翻译
以下为原文
You are right, of course. wink:
The PIC32MX795F512H is in a QFN64 package.
I am using PGED1 (pin 16) and PGEC1 (15) as ICSP-pins. The UART I am using is UART3 (U3RX on pin 5, U3TX on pin 6). I selected this UART because pins 5 and 6 have no analog functionality multiplexed to them, so they behave as high-Z after reset. The idea is that this high-Z will prevent the pins from messing with the ICSP-process. I can succesfully program the device.
After the chip has been programmed, RB0 (PGED1) and RB1 (PGEC1) are switched to digital_in (high-Z) before UART3 is enabled. This time to prevent the ICSP-pins to interfere with the UART3-pins. UART comms, however, do not work. If rerouted to a different UART (UART1), all is well.
The outside-world-connector has a single pin for PGED1 and U3RX. A second pin is used for PGEC1/U3TX.
I am aware of the unavailability of ICSP through this construct. Debug devices are, however, not potted and I can therefore use a different UART (UART1) to allow the ICSP-pins to be available to the ICD during debugging. This re-routing of UART-data is taken care of through "#ifdef _DEBUG" in the code.
I have no more than three connectorpins available into the outside world: !MCLR, PGD and PGC. I therefore need to re-use two of them as UART RX/TX.
举报