Слеплен девайс: 1. Собственно, сабжевая атмега 2. Параллельный 16-битовый ЦАП. 3. Дынные для ЦАПа грузятся через UART атмеги. Старший байт данных распаян на PB, младшие же из-за пункта 3 пришлось раскидывать на 2 порта: все биты, кроме 0 и 1 - на соответствующие биты PD, бит 0 на PC0, бит 1 на PC1. Защёлка данных ЦАПа - на PC2. С о старшим байтом всё понятно - его выкидываю в PB. Младший байт планирую передавать так: пишу целиком его в PD, поднимаю отдельно PC0 и PC1. Защёлкиваю всё это безобразьё, цмыкнув битом PC2. Всё, вроде бы, понятно. Сомнение, вызывает запись в PD. Можно ли так делать? Если целиком положить туда байт, не вмешаюсь ли я тем самым в работу UARTа? А, если это нельзя, то можно ли как-то обойти, замаскировать биты PB0 и PB1 при записи байта в PB?
|