Я работаю над проектом, в котором я получаю серийные данные на UART6_RX.
Это прекрасно работает.
Тем не менее, когда я добавляю сенсорную кнопку на экран и в основной проверке цикла во время проверки касания, UART_RX больше не получает никаких данных. У меня такое ощущение, что это как-то связано с прерываниями.
В настоящее время у меня есть следующий код:
int main()
{
device.baud(31250);
lcd.Clear(BACK_COLOR);
Button firstButton(lcd, ts, 10, Y0, btnWidth, btnHeight,LCD_COLOR_RED, BACK_COLOR, "My First Button", Font24);
while(1) {
if (firstButton.Touched()) //If I remove this if statement, everything works perfectly.
{
int n = 10;
}
// __disable_irq(); //Tried this, but without succes
if (device.readable()) {
char cReceivedByte = device.getc();
unsigned long result= doSomethingAmazing(cOntvangenByte);
char buf[10];
sprintf(buf, "%05lu\r\n", result);
lcd.SetBackColor(LCD_COLOR_GREEN);
lcd.SetTextColor(LCD_COLOR_WHITE);
lcd.SetFont(&Font24);
lcd.DisplayStringAt(270, LINE(5), (uint8_t *)buf, LEFT_MODE);
}
// __enable_irq();
}
}
Я использую компилятор ARM — mbed и запускаю его на следующей плате разработчика:
— STM32F7-Discovery
Кто знает, что происходит и как я могу это решить?
Спасибо миллион раз,
Alex
Задача ещё не решена.
Других решений пока нет …