ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
40342 Топик полностью
Romario (28.09.2005 14:43, просмотров: 1) ответил Boroda на Подскажите plz почему такой запутанный h файл at91sam7s64?...
Ответ: 1) typedef volatile unsigned int AT91_REG;// Hardware register definition AT91_REG это тип, эквивалентен типу "volatile unsigned int" можно и так #define AT91_REG volatile unsigned int Пункт 2 объявление структуры членами которой являются регистры уарта которые имеюn тип AT91_REG #define AT91C_BASE_US0 ((AT91PS_USART) 0xFFFC0000) // (US0) Base Address адрес начало блока (структуру) уарта названная AT91C_BASE_US0. в железе она размещается по адресу 0xFFFC0000 Пункт 4 обявление указателей на реальные регистры в железе можно будет написать *AT91C_RSTC_RSR = 0x00 например 2) зачем двойная запись AT91S_USART, *AT91PS_USART;? с первым типом отождествляется стурктура со вторым - указатель на структуру 3) С базовым адресом USART_а все понятно,ну а как компилятор знает какие смещения имеют регистры USART_а относительно базового адреса? если присмотреться, то смещение в структуре эквивалентно смещению реальных регистров в железе относительно базы. AT91PS_USART USART_pt = AT91C_BASE_US0; объявление указателя на структуру AT91S_USART. Адрес указателю присавивается AT91C_BASE_US0 p.s. изучаем учебник по С