ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
1423855
Mty1 (07.04.2024 10:49, просмотров: 592)
stm32f411 - вопрос по скорости. Задача раз в микросекунду по таймеру доставать из таблицы байт и писать в GPIO порт. Думал на частоте 100Мгц проблем не будет и раз в 1 мкс успею. Ставлю флаг в IRQ потом в цикле десяток строк кода. Но катастрофически не успеваю по времени. Вопрос - есть ли шанс успеть за 1 мкс? Только на вызов прерывания уходит около 0.5мкс Выходит надо пилить без прерывания. Анализируя timer update flag. Вопрос - есть ли шанс успеха? 
    if( timer_irq_flag ) {
      	timer_irq_flag = 0;
		//читаем из таблицы пишем в порт
		if( tick_current++ == timeline[table_string].tick ){
			port = timeline[table_string].port_byte; // здесь будет запись в GPIO байта
			if( table_string < MAX_STRING )		// увеличиваем номер строки
				table_string++;
		}
    }