Цитата(Pasha 111 @ May 21 2006, 20:27)

Сделал такую вот программу:
void main()
{
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PIOA);
AT91F_PIO_CfgOutput(AT91C_BASE_PIOA, 1 << 17);
while(1)
{
AT91F_PIO_ClearOutput(AT91C_BASE_PIOA, 1 << 17);
AT91F_PIO_SetOutput(AT91C_BASE_PIOA, 1 << 17);
}
}
Почему скорость переключения такая маленькая (~730 Гц)?? Прога в целом работает быстро, а вот PIO почему-то тормозит. Можно как-то выставить частоту для PIO?
ИМХО если переключать быстрее, чем работает периферия, можно добиться такого состояния, что на выходе все время будет 0 (или 1, как получится). Переключение будет только в момент прерывания.