Alkul писал(а):Что мешает определить константы T0Clk64 и T0Off самому?
Если делаешь проект в гордом одиночестве - ничего. Кроме самой необходимости написать все это, раз производитель МК не сделал этого
нормально. Ну, может быть, при переносе проекта на другой камушек, понадобится написать то же самое еще и для него. При этом надо подавить свое желание скопипастить по-простому, поскольку у нового камушка что-то может отличаться, в каком-нибудь малозаметном месте. Был у меня подобный прецедент при переносе проекта с 8-й Меги на Мегу 8515.
А вот если работать в команде, то добавляется необходимость согласования.
Z_h_e писал(а):Как Вы представляете применение таких определений для бит ориентированных команд?
Для бит-ориентированных команд (и
только для тех битов, для которых это имеет смысл) - путем добавления к этому определению префикса или суффикса, указывающего, что это не значение бита, а его номер. Возьмем, например, регистр ADCSRA (ADC). По=хорошему бы задать ADEN=0x80, а, допустим, Bit_ADEN=7. Ну, и, соответственно, ADSC=0x40, Bit_ADSC=6 и т.д. А вот USART'овские биты (UPM1, UPM0) и (USZ2-USZ0) - это не отдельные 2 и 3 бита, а двух- и трехбитовые поля, манипулировать их отдельными битами нет никакого смысла, несмотря на то, что они доступны для адресации командами SBI/CBI. Равно, как и с полями ADC - (REFS1,REFS0) и (MUX3-MUX0). Ну, и для всех регистров с адресом, бОльшим 0x1F, номера битов вообще малополезны, напрямую ими не воспользуешься, их бы, как раз, описать только значениями.
Alkul писал(а):Невозможно в inc-файле предусмотреть все варианты, которые могут потребоваться программисту
Так
все варианты и не нужны. Вернее, их всего два: определять значения битов или определять их номера. И, как я только что изложил, даже не для всех для регистров с адресами 0-0x1F полезны именно номера битов, для всех полей в несколько битов, значения
явно полезнее перечисления номеров битов, входящих в эти поля. А для регистров с адресом больше, чем 0x1F номера битов
вообще бесполезны, значений же нам не предложили - пишите сами!..
Z_h_e писал(а):Кстати, атмеломикрочип уже выпустил новую линейку МК
Скорее всего, это то, что Атмел разработал непосредственно перед самопродажей, а выпустить не успел. Так, что выпустил эти камушки уже Микрочип - не пропадать же добру!.. А дальнейшие разработки, наверняка свернут, все новые наработки пойдут на усовершенствование ПИКов, а не АВР-ок.
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)