Цитата(729 @ Jun 25 2008, 14:19)

Если можно, то поподробнее напишите, пожалуйста, какие коды в какие регистры записываются (в том числе и разрешения прерывания).
Обработчик прерывания собственный, как я думаю, ибо в "фирменном" ПО его просто нет, хоть и декларирован. Вы его хорошо отладили?
Код в качестве примера,по-этому особого прикладного смысла не имеет.Обработчик прерывания не привожу-он лишь возвращает режим user в Status`e и отправляет на метку "sendData",раз в 10 символов и на "circle_".
"
.text
lui $2,0xb82f
li $3,0x10081 # clock=8x10MHz
sw $3,0x4008($2)# to CSR
li $3,0x10
sw $3,0x4000($2) # UART MASKR
li $8,0xa001
li $3,9
sw $3,0x3014($2) # SCLR - предделител.частота с 80 до 8 МГц
li $3,0x80
sw $3,0x300c($2) # LCR - разрешаю доступ с регистрам DLL и DLM
li $3,0x34
sw $3,0x3000($2) # DLL - делитель равен 52-из таблицы мануала,для получения 9600бод
sw $0,0x300c($2) # LCR - разрешаю доступ к THR и iER
li $3,2
sw $3,0x3004($2) # iER - прерывание по отсутствию данных в передающем регистре THR
sw $0,0x3008($2) # !попытка выставить посимвольный режим.Флаг "режим FIFO" не сбрасывается.
#----------------------
li $7,0x60
circle_:
li $10,10
la $4,toPC
sendData:
lb $5,($4)
sb $5,0x3000($2) # загрузка байта в THR
mtc0 $8,$12 # разрешаем прерывания после загрузки байта и непустом THR
waitTransmitt:
lb $6,0x3014($2) # смотрим LSR, флаг THRE и TEMT.
andi $6,0x60
bne $6,$7,waitTransmitt # если они не выставлены-передатчик не пуст.Ждём,опрашивая циклично.
nop
addi $4,$4,4
addi $10,-1
bne $10,$0,sendData
nop
j circle_
.data
toPC:
.word 0,1,2,3,4,5,6,7,8,9
Картинки с регистрами в режиме эмуляции в студии приложить не могу-полетела плата 0226-EM(1892ВМ5Я). У Вас при работе с отладочником конвертер питания с 3,3В на 2,5В из стоя не выходил?
З.Ы.У Вас примерчиков не найдётся на UART(на С или asm),так,чтобы для компа софтина какая была написана на приём/передачу? Пока разбираюсь только,на примере быстрее бы получилось..