Вот начал переделывать программу, чтобы использовался PDC
Для первоначальной настройки этого хватит?
CODE
void ConfigurePDC()
{
AT91F_PDC_Open (AT91C_BASE_PDC_US5);
AT91F_PDC_SetNextRx (AT91C_BASE_PDC_US5, Buf2, 1);
AT91F_PDC_SetNextTx (AT91C_BASE_PDC_US5, Buf2, 1);
AT91F_PDC_SetRx (AT91C_BASE_PDC_US5, Buf1, 1);
AT91F_PDC_SetTx (AT91C_BASE_PDC_US5, Buf1, 1);
}
Взял функции для At91rm9200, но как понял они для моего контроллера тоже подходят, так как регистры не поменялись. Решил в прерывания по Usart добавить функции PDC:
AT91F_PDC_ReceiveFrame (AT91C_BASE_PDC_US5, Buf1, 1, Buf2, 1);
AT91F_PDC_SendFrame (AT91C_BASE_PDC_US5, Buf1, 1, Buf2, 1);
Только когда проверяю буферы, они остаются пустыми.