Пытаюсь промоделировать работу UART в AVR STUDIO на ATMEGA8515. При настройка UARTа пытаюсь записать значения в управляющие регистры UCSRC(Настройка) и UBRRH (верхний байт делителя частоты УАРТа). В документации написано, что упомянутые выше регистры делят один байт памяти, но в них можно писать раздельно. Если старший бит (URSEL) записываемого значения = 1, то запись идет в UCSRC, а если = 0, то в UBRRH. Чего только не перепробовал, но при отладке в симуляторе данные пишутся в оба регистра одновременно независимо от значения URSEL. Ниже привожу фрагмент программы, которым настраиваю UART. После первых двух строчек в обоих регистрах НЕ 0, а после четвертной строки в обоих регистрах 0.
ldi temp_reg,(1<<URSEL)|(1<<USBS)|(3<<UCSZ0) out UCSRC,temp_reg ldi temp_reg,0 out UBRRH,temp_reg
Кто-нибудь сталкивался с такой проблемой? Может быть есть какой-то сигнал, позволяющий разрешать запись в регистры с общей ячейкой памяти? Или что-то еще нужно настроить?
Спасибо огромное заранее за любую информацию!
|