[an error occurred while processing this directive]
можно предложить и такой вариант:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Тумблер 26 июля 2006 г. 14:01
В ответ на: Вот - дарю полезные макросы для AVR-assma. При отладке программ очень помогают (+) отправлено Assm 26 июля 2006 г. 13:51


подключим к подсудимому процессору другой процессор,
который принимает данные по SPI и выводит их через
UART в ком-порт. Это в том случае, если собственный
uart уже занят.
Фактически, достаточно 2-х пинов на вывод.
И будем отлаживатся как белые люди:
;...........................................................
; file 8515deb.asm 09.07.2006 ; include file
;...........................................................
.equ SCLK =0 ; Port_B => out
.equ MOSI =2 ; Port_B => out
.equ MODE =3 ; Port_B => out
;...........................................................
WaitNop:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
ret
;...........................................................
MakePuls:
rcall WaitNop
cbi PORTB,SCLK
rcall WaitNop
sbi PORTB,SCLK
rcall WaitNop
ret
;...........................................................
r17_spi:
push r16
mov r16,r17
rcall r16_spi
pop r16
ret
;...........................................................
r24_spi:
push r16
mov r16,r24
rcall r16_spi
pop r16
ret
;...........................................................
r25_spi:
push r16
mov r16,r25
rcall r16_spi
pop r16
ret
;...........................................................
r0_spi:
push r16
mov r16,r0
rcall r16_spi
pop r16
ret
;...........................................................
r1_spi:
push r16
mov r16,r1
rcall r16_spi
pop r16
ret
;...........................................................
r22_spi:
push r16
mov r16,r22
rcall r16_spi
pop r16
ret
;...........................................................
r19_spi:
push r16
mov r16,r19
rcall r16_spi
pop r16
ret
;...........................................................
r18_spi:
push r16
mov r16,r18
rcall r16_spi
pop r16
ret
;...........................................................
r26_spi:
push r16
mov r16,r26
rcall r16_spi
pop r16
ret
;...........................................................
r27_spi:
push r16
mov r16,r27
rcall r16_spi
pop r16
ret
;...........................................................
r16_spi:
push r16
push r17
in r17,sreg
push r17

sbi PORTB,SCLK
cbi PORTB,MODE

cbi PORTB,MOSI
ror r16
brcc as0
sbi PORTB,MOSI
as0:
rcall MakePuls

cbi PORTB,MOSI
ror r16
brcc as1
sbi PORTB,MOSI
as1:
rcall MakePuls

cbi PORTB,MOSI
ror r16
brcc as2
sbi PORTB,MOSI
as2:
rcall MakePuls

cbi PORTB,MOSI
ror r16
brcc as3
sbi PORTB,MOSI
as3:
rcall MakePuls

cbi PORTB,MOSI
ror r16
brcc as4
sbi PORTB,MOSI
as4:
rcall MakePuls

cbi PORTB,MOSI
ror r16
brcc as5
sbi PORTB,MOSI
as5:
rcall MakePuls

cbi PORTB,MOSI
ror r16
brcc as6
sbi PORTB,MOSI
as6:
rcall MakePuls

cbi PORTB,MOSI
ror r16
brcc as7
sbi PORTB,MOSI
as7:
rcall MakePuls

rcall WaitNop

pop r17
out sreg,r17
pop r17
pop r16
ret
;...........................................................


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание