Добрый день!
Имеется отладочная плата (https://tellur-el.ru/upload/iblock/ac0/r4rucl3gy3hbt0f9sw90cgoz8qmq20p6.pdf). Эта тема по сути попытка понять, что происходит в предыдущей из этой ветки.
Через Terminal, используя обычный USB-TTL преобразователь (схема на основе CH340G, типа такой: https://oshwlab.com/makmak19992542/ch340g-usb-to-rs232-ttl-module-schematic_ks), отправляю на МК набор байтов. Если я НЕ подключаю преобразователь к МК и смотрю логическим анализатором сигнал на TX преобразователя - всё ок, что я через терминал отправил, то и вижу в анализаторе.
Если я подключаю TX преобразователя к RX контроллера, сигнал не передаётся, на анализаторе полная тишина. Земли контроллера и преобразователя соединены, настройки пинов представлены ниже.
Подскажите, в чём может быть дело?
Настройки ног и периферии:
Имеется отладочная плата (https://tellur-el.ru/upload/iblock/ac0/r4rucl3gy3hbt0f9sw90cgoz8qmq20p6.pdf). Эта тема по сути попытка понять, что происходит в предыдущей из этой ветки.
Через Terminal, используя обычный USB-TTL преобразователь (схема на основе CH340G, типа такой: https://oshwlab.com/makmak19992542/ch340g-usb-to-rs232-ttl-module-schematic_ks), отправляю на МК набор байтов. Если я НЕ подключаю преобразователь к МК и смотрю логическим анализатором сигнал на TX преобразователя - всё ок, что я через терминал отправил, то и вижу в анализаторе.
Если я подключаю TX преобразователя к RX контроллера, сигнал не передаётся, на анализаторе полная тишина. Земли контроллера и преобразователя соединены, настройки пинов представлены ниже.
Подскажите, в чём может быть дело?
Настройки ног и периферии:
C:
void setup(void)
{
PCC_InitTypeDef PCC_OscInit;
GPIO_InitTypeDef GPIO_InitStruct = {0};
PCC_OscInit.OscillatorEnable = PCC_OSCILLATORTYPE_HSI32M | PCC_OSCILLATORTYPE_OSC32M | PCC_OSCILLATORTYPE_LSI32K;
PCC_OscInit.FreqMon.OscillatorSystem = PCC_OSCILLATORTYPE_OSC32M;
PCC_OscInit.FreqMon.ForceOscSys = PCC_FORCE_OSC_SYS_UNFIXED;
PCC_OscInit.FreqMon.Force32KClk = PCC_FREQ_MONITOR_SOURCE_LSI32K;
PCC_OscInit.AHBDivider = 0;
PCC_OscInit.APBMDivider = 0;
PCC_OscInit.APBPDivider = 0;
PCC_OscInit.HSI32MCalibrationValue = 128;
PCC_OscInit.LSI32KCalibrationValue = 128;
PCC_OscInit.RTCClockSelection = PCC_RTC_CLOCK_SOURCE_LSI32K;
PCC_OscInit.RTCClockCPUSelection = PCC_CPU_RTC_CLOCK_SOURCE_LSI32K;
HAL_PCC_Config(&PCC_OscInit);
HAL_MspInit();
__HAL_PCC_GPIO_0_CLK_ENABLE();
__HAL_PCC_UART_0_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_9;// LED пины
GPIO_InitStruct.Mode = HAL_GPIO_MODE_GPIO_OUTPUT;
GPIO_InitStruct.Pull = HAL_GPIO_PULL_NONE;
HAL_GPIO_Init(GPIO_0, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6; //UART ножки
GPIO_InitStruct.Mode = HAL_GPIO_MODE_SERIAL;
GPIO_InitStruct.Pull = HAL_GPIO_PULL_NONE;
HAL_GPIO_Init(GPIO_0, &GPIO_InitStruct);
UART_Init(UART_0, (uint32_t)555, UART_CONTROL1_TE_M | UART_CONTROL1_RE_M | UART_CONTROL1_M_8BIT_M
| UART_CONTROL1_RXNEIE_M, 0, UART_CONTROL3_OVRDIS_M);
HAL_EPIC_Clear(0xFFFFFFFF); //чистим все флаги прерываний
HAL_EPIC_MaskLevelSet(HAL_EPIC_UART_0_MASK);
HAL_IRQ_EnableInterrupts();
}