|
ATxmega64A1def.inc, непонятки |
|
|
|
Oct 13 2011, 19:44
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Вот к примеру регистр период RTC в файле ATxmega64A1def.inc обьявлен так: Код .equ RTC_PER = 1034 // Period Register 1034 это десятичное значение адреса младшего байта регистра RTC_PER. А каким образом Atmel предлагает доступ к старшему байту? RTC_PER+1 чтоли??? И почему сразу не обьявить вот так например: Код .equ RTC_PERL = 1034 // Period Register .equ RTC_PERH = 1035
|
|
|
|
|
 |
Ответов
|
Oct 13 2011, 22:16
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(ILYAUL @ Oct 14 2011, 00:37)  Младший торчит во временном всё это время . Попробуй обмануть. Мне тоже не понравилось Это типа проц стал 16-ти разрядным??? Цитата(Юрий_СВ @ Oct 14 2011, 01:03)  по разным адресам Действительно по разным!!! Т.е. записывая что-то в старщий адрес я записываю и в младший!!! А что в младшем ХЗ. Красота!!!
|
|
|
|
|
Oct 14 2011, 01:52
|
Участник
  
Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695

|
Цитата(zombi @ Oct 14 2011, 07:16)  Это типа проц стал 16-ти разрядным??? ... Т.е. записывая что-то в старщий адрес я записываю и в младший!!! А что в младшем ХЗ. Красота!!! Если бы не было временного регистра... Например, работает 16-бит счётчик: 00FE, 00FF, 0100, 0101, 0102, ... Программа начинает читать значение, когда в нём 00FF. in R1,TCNT1H in R0,TCNT1L в регистрах получим R1:R0 = 0000 пробуем по другому: in R0,TCNT1L in R1,TCNT1H в регистрах получим R1:R0 = 01FF Тоже самое и записью, если записывать в работающий таймер/счётчик. Из ADC нельзя прочитать только младший байт, ит.д. Временный регистр нужен для атомарного доступа к 16-бит регистрам по 8-бит шине. И появился этот регистр не в xMega,Mega или Tiny, он уже был в AVR AT90Sxxxx в прошлом веке.
|
|
|
|
|
Oct 14 2011, 07:51
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(ae_ @ Oct 14 2011, 04:52)  in R1,TCNT1H in R0,TCNT1L в регистрах получим R1:R0 = 0000
пробуем по другому: in R0,TCNT1L in R1,TCNT1H в регистрах получим R1:R0 = 01FF Спасибо за лекцию. Но результат чтения также будет зависеть и от того чем тактируется счётчик. И речь не о принципе доступа 8-битного процессора к 16-битным регистрам. Речь о том что адрес старшего байта физически существует,описан в DS но никак не обьявлен. А тем что атмельцы обьявили адрес только младшего байта они врядли добьются атомарности поскольку при желании всёравно можно нарушить последовательность чт/зп. Цитата(ILYAUL @ Oct 14 2011, 10:15)  А вот так нет: Код ldi r16,0x55 ldi r17,0xAA sts RTC_PERL,r16 sts RTC_PERH,R17 nop Ошибка компиляции. Обьявите RTC_PERL/H и всё проканает.
|
|
|
|
Сообщений в этой теме
zombi ATxmega64A1def.inc Oct 13 2011, 19:44       zombi Цитата(ILYAUL @ Oct 14 2011, 11:08) Не вр... Oct 14 2011, 09:06        ILYAUL QUOTE (zombi @ Oct 14 2011, 13:06) Странн... Oct 14 2011, 09:24         zombi Цитата(ILYAUL @ Oct 14 2011, 12:24) Вы та... Oct 14 2011, 09:53          ILYAUL QUOTE (zombi @ Oct 14 2011, 13:53) Шо то ... Oct 14 2011, 10:16           zombi Цитата(ILYAUL @ Oct 14 2011, 13:16) я бра... Oct 14 2011, 10:18            ILYAUL QUOTE (zombi @ Oct 14 2011, 14:18) А это ... Oct 14 2011, 10:18             zombi Цитата(ILYAUL @ Oct 14 2011, 13:18) Студи... Oct 14 2011, 10:24              ILYAUL QUOTE (zombi @ Oct 14 2011, 14:24) Отказ... Oct 14 2011, 10:27 Юрий_СВ Цитата(ILYAUL @ Oct 14 2011, 00:02) Смысл... Oct 13 2011, 22:03  ILYAUL QUOTE (Юрий_СВ @ Oct 14 2011, 02:03) по р... Oct 14 2011, 07:15   zombi Цитата(ILYAUL @ Oct 14 2011, 10:15) Вот т... Oct 19 2011, 08:42 Юрий_СВ Цитата(zombi @ Oct 13 2011, 22:44) Вот к ... Oct 13 2011, 22:20 ILYAUL Dear Customer,
Please try with the following assem... Oct 19 2011, 09:10 zombi Ага. т.е. советуют через базовый адрес+смещение и ... Oct 19 2011, 10:33 ILYAUL QUOTE (zombi @ Oct 19 2011, 14:33) Ага. т... Oct 19 2011, 16:01
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|