Вс мар 14, 2021 09:49:14
Вс мар 14, 2021 10:15:17
Вс мар 14, 2021 19:47:02
Пн мар 15, 2021 17:15:46
Вт мар 16, 2021 07:12:11
Вт мар 16, 2021 08:22:09
I could reproduce your issue. it looks the EFM32GG395 never assert the RTC even I enable the hardware flow control.
I tried to change below code in routine RETARGET_SerialEnableFlowControl1 and EFM32GG12 could send/transmit to EFM32GG395/VCOM.
Вт мар 16, 2021 08:55:36
Вт мар 16, 2021 16:40:44
serial vcom config handshake rtscts
Вт мар 16, 2021 18:23:13
Вт мар 16, 2021 20:08:48
If I understand it correctly you are using the VCOM (EFM32GG395 controller that works as onboard JLink debugger, which integrate a USB CDC interface). You route the EFM32GG12 USAR0 to JLINK CDC port.
I could reproduce your issue. it looks the EFM32GG395 never assert the RTC even I enable the hardware flow control.
I tried to change below code in routine RETARGET_SerialEnableFlowControl1 and EFM32GG12 could send/transmit to EFM32GG395/VCOM.
- Код:
RETARGET_UART->CTRLX |= USART_CTRLX_CTSEN | USART_CTRLX_CTSINV;
I need check with the board designer to see what happen. I am testing the vcom example with minor change.
- Код:
int main(void)
{
int c;
int index;
/* Chip errata */
CHIP_Init();
/* Initialize LEUART/USART and map LF to CRLF */
RETARGET_SerialInit();
RETARGET_SerialEnableFlowControl(); //added this line to enable flow control.
RETARGET_SerialCrLf(1);
I investigate this a bit. It looks below procedure could make the hardware flow control work.
1. upgrade the adapter firmware to the latest.
on my side the adapter firmware is located in folder like below:
C:\SiliconLabs\SimplicityStudio\v4\offline\hwtools\firmware\S1015C_adapter_firmware_package
2. right click and open console in debug adapter window.
3. send command in 'admin' tab
serial vcom config handshake rts
Вт мар 16, 2021 21:09:01
Вс мар 28, 2021 14:43:59
TB> ----- Virtual COM port -----
Stored port speed : 115200
Active port speed : 115384
Stored handshake : rtscts
Actual handshake : rtscts
TB>
I2C_DEV->CMD = I2C_CMD_NACK | I2C_CMD_STOP;
I2C_DEV->CMD = I2C_CMD_NACK;
I2C_DEV->CMD = I2C_CMD_STOP;
Вс мар 28, 2021 15:11:50
Вс мар 28, 2021 16:11:59
Вс апр 11, 2021 12:08:29
Вс апр 18, 2021 09:26:43
void spi_exchange(unsigned char * send_data_ptr, uint16_t count) {
while (tx_busy) continue;
tx_busy = 1;
LDMA_TransferCfg_t rxferCfg = LDMA_TRANSFER_CFG_PERIPHERAL(ldmaPeripheralSignal_USART3_RXDATAV),
txferCfg = LDMA_TRANSFER_CFG_PERIPHERAL(ldmaPeripheralSignal_USART3_TXBL);
LDMA_Descriptor_t
rx_descriptor = LDMA_DESCRIPTOR_SINGLE_P2M_BYTE(&(USART3->RXDATA), send_data_ptr, count),
tx_descriptor = LDMA_DESCRIPTOR_SINGLE_M2P_BYTE(send_data_ptr, &(USART3->TXDATA), count);
USART3->CMD = USART_CMD_RXEN;
USART3->ROUTELOC0 = USART_ROUTELOC0_CLKLOC_LOC0 | USART_ROUTELOC0_CSLOC_LOC1 |
USART_ROUTELOC0_RXLOC_LOC0 | USART_ROUTELOC0_TXLOC_LOC0;
GPIO_PinOutSet(gpioPortA, 3);
USART3->CMD = USART_CMD_CLEARRX;
LDMA_StartTransfer(LDMA_USART3_RX_CHANNEL, &rxferCfg, &rx_descriptor);
LDMA_StartTransfer(LDMA_USART3_TX_CHANNEL, &txferCfg, &tx_descriptor);
while (tx_busy) continue;
}
TIMER1->TOPB = sequence[line][3];
TIMER1->CC[0].OCB = sequence[line][0];
TIMER1->CC[1].OCB = sequence[line][1];
TIMER1->CC[2].OCB = sequence[line][2];
Сб май 01, 2021 06:40:02
// (robot's right)
// reflectance sensor 7 connected to PE.11 PRS3#2
// reflectance sensor 6 connected to PE.10 PRS2#2
// reflectance sensor 5 connected to PE.15 tim3cc1#0 PRS14#3
// reflectance sensor 4 connected to PE.14 tim3cc0#0 PRS13#2
// reflectance sensor 3 connected to PE.13 tim2cc2#3 PRS2#3
// reflectance sensor 2 connected to PE.5 tim3cc2#2
// reflectance sensor 1 connected to PE.9 PRS8#2
// reflectance sensor 0 connected to PE.8 PRS3#1
// (robot's left)
CMU_ClockEnable(cmuClock_PRS, 1);
PRS->CH[2].CTRL = PRS_CH_CTRL_SOURCESEL_TIMER2 | PRS_CH_CTRL_SIGSEL_TIMER2CC1 | PRS_CH_CTRL_INV;
PRS->CH[3].CTRL = PRS_CH_CTRL_SOURCESEL_TIMER2 | PRS_CH_CTRL_SIGSEL_TIMER2CC1 | PRS_CH_CTRL_INV;
PRS->CH[8].CTRL = PRS_CH_CTRL_SOURCESEL_TIMER2 | PRS_CH_CTRL_SIGSEL_TIMER2CC1 | PRS_CH_CTRL_INV;
PRS->CH[13].CTRL = PRS_CH_CTRL_SOURCESEL_TIMER2 | PRS_CH_CTRL_SIGSEL_TIMER2CC1 | PRS_CH_CTRL_INV;
PRS->CH[14].CTRL = PRS_CH_CTRL_SOURCESEL_TIMER2 | PRS_CH_CTRL_SIGSEL_TIMER2CC1 | PRS_CH_CTRL_INV;
TIMER2->CC[1].CTRL = TIMER_CC_CTRL_MODE_PWM | TIMER_CC_CTRL_PRSCONF_LEVEL;
PRS->ROUTELOC0 = PRS_ROUTELOC0_CH2LOC_LOC2 | PRS_ROUTELOC0_CH3LOC_LOC2;
PRS->ROUTELOC2 = PRS_ROUTELOC2_CH8LOC_LOC2;
PRS->ROUTELOC3 = PRS_ROUTELOC3_CH13LOC_LOC2 | PRS_ROUTELOC3_CH14LOC_LOC2;
PRS->ROUTEPEN = PRS_ROUTEPEN_CH2PEN | PRS_ROUTEPEN_CH3PEN | PRS_ROUTEPEN_CH8PEN |
PRS_ROUTEPEN_CH13PEN | PRS_ROUTEPEN_CH14PEN;
Сб июл 10, 2021 15:57:30
Вс июл 18, 2021 14:28:42
Чт сен 02, 2021 16:58:01