>>1. инициализация UART (чтение запись) (асинхронный режим. 8 бит. без паритета . 1 стоповый бит)
У меня IAR, но думаю не принципиально.
делаю так:
AT91PS_USART COM1 = AT91C_BASE_US1;
//* Configure PIO controllers to periph mode
AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, ((unsigned int) AT91C_PA21_RXD1 )|((unsigned int) AT91C_PA22_TXD1 ) , 0);
// First, enable the clock of the PIOB
AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_US1 ) ;
// Usart Configure
AT91F_US_Configure (COM1, MCK, AT91C_US_ASYNC_MODE, AT91_BAUD_RATE, 0);
// Enable usart
COM1->US_CR = AT91C_US_RXEN | AT91C_US_TXEN;
//* Enable USART IT error and RXRDY
AT91F_US_EnableIt(COM1,AT91C_US_TIMEOUT | AT91C_US_FRAME | AT91C_US_OVRE |AT91C_US_RXRDY);
//* open Usart 1 interrupt
AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC, AT91C_ID_US1, USART_INTERRUPT_LEVEL,AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE, Usart_c_irq_handler);
AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_US1);
>>5 чтение входа АЦП
Для CH7:
while (!(((AT91F_ADC_GetStatus (AT91C_BASE_ADC)) & 0x80) == 0x80) );
ch = AT91F_ADC_GetConvertedDataCH7 (AT91C_BASE_ADC)<16);
А на счет 2 3 и 4 советую для начала почитать
http://www.gaw.ru/html.cgi/txt/doc/micros/...sam7s/index.htm