Здравствуйте, мне нужна помощь с кейлом о USART(STM32)
Всем привет.
Мне нужно передать через UART фиксированный номер в блоке данных через команду.
Но это не работает...
Что я уже пробовал:
Я сделал это :
void USART2_IRQHandler(void) { if ( USART_GetITStatus(USART2, USART_IT_RXNE) ) { USART_ClearITPendingBit(USART2, USART_IT_RXNE); RX_buffer[RX_write] = USART_ReceiveData(USART2); RX_write++; //chetchik ukazatel na massive RX_ct++; if (RX_ct == 3) { if (RX_buffer[0] == 0x01) //ID { ID(); } } } } void ID (uint8_t i) { while (!USART_GetFlagStatus(USART2, USART_SR_TXE)) { } USART_SendData(USART2,i=10); }
Rick York
Вы определили, какая часть не работает?
Вы вызываете пять различных функций USART из этого обработчика IRQ, поэтому начните с самого начала : вызывается ли обработчик? Затем проверьте каждый вызов функции оттуда. Отладчики полезны для такого рода вещей, но я знаю, что они могут быть трудными во встроенных средах, поэтому какой-то механизм трассировки может помочь в этом, если отладка в стиле printf является опцией.