Entrar    Registrar

Tratamento de Interrupção

Software e Hardware para ATMEL

Moderadores: guest2003, 51, brasilma

  • Autor
    Mensagem

Tratamento de Interrupção

Mensagempor Vicente » 01 Set 2018 18:03

Olá, estou usando esse código que incrementa uma variável quando ocorre uma interrupção de um timer. O chip é um Atmega 8L:

asm code
.org 0x006                         ;interrupção do timer1

push r16 ;salva r16 e sreg
in r16,sreg
push r16

lds r16,0x0060 ;aqui, incrementa uma variável, usando o r16
inc r16
sts 0x0060,r16

pop r16 ;recupera r16 e sreg salvos
out sreg,r16
pop r16

reti ;retorna da interrupção


Neste caso, eu preciso salvar o r16 e o sreg, incrementar a variável e, depois, recuperar r16 e sreg.
Gostaria de saber se alguém sabe uma outra forma de fazer isso, ou até mesmo se está faltando salvar algum outro registrador.
Vicente
Bit
 
Mensagens: 15
Registrado em: 24 Fev 2017 20:39

Re: Tratamento de Interrupção

Mensagempor tcpipchip » 02 Set 2018 10:59

eu sempre uso varíaveis como funcao do registrador a qual é jogado na pilha...


https://www.mikrocontroller.net/article ... Interrupts
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 5910
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Tratamento de Interrupção

Mensagempor Guri » 11 Fev 2019 09:22

Como todo mundo, sabe! Sempre fui defensor do Assembly, inclusive dos Pics, desde 1985. Lembrando que sempre torci o nariz para linguagem C.

Mas depois que me deparei com uma situação, onde tinha que fazer uma rotina para um GLCD, foi ai que comecei a olhar com mais atenção para a linguagem C!

Resumindo, resolvi toda a questão do GLCD em apenas 1 dia.... :D

Hoje em dia não consigo pensar em assembly, nem que seja para piscar um Led :oops:
DEUS SEJA LOUVADO
GURI (VonNilmam)
Guri
Byte
 
Mensagens: 227
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: Tratamento de Interrupção

Mensagempor tcpipchip » 11 Fev 2019 10:43

cara, nao abandone o assembly!!!!
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 5910
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Tratamento de Interrupção

Mensagempor rafael » 20 Abr 2019 22:29

A velha briga... kkkk
Eu faço um misto... tenho algumas funções importantes escritas em assembly e chamo elas no C. Mas 99% do projeto eh C. :)


Enviado do meu iPhone usando Tapatalk
/***************************************
Rafael Gebert

TEWAC Tecnologia
e-mail: rafael@tewac.com.br
***************************************/
rafael
Nibble
 
Mensagens: 59
Registrado em: 08 Mar 2007 10:37
Localização: Rio Grande, RS - Brazil

Re: Tratamento de Interrupção

Mensagempor tcpipchip » 22 Abr 2019 12:50

Eu visitei uma vez a WEG MOTORES.

Nem uma instruçao em C, tudo Assembly!
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 5910
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Tratamento de Interrupção

Mensagempor rafael » 22 Abr 2019 12:54

Xiiiiii, sem querer tu deu um péssimo exemplo! Pois a comunicação rs485 das SSW da Weg são super sensíveis... Dao pau muito fácil e tem que desligar/ligar o módulo de comunicação.

Vai ver que o firmware do módulo Foi escrito em “C”. Heheheh


Enviado do meu iPhone usando Tapatalk
/***************************************
Rafael Gebert

TEWAC Tecnologia
e-mail: rafael@tewac.com.br
***************************************/
rafael
Nibble
 
Mensagens: 59
Registrado em: 08 Mar 2007 10:37
Localização: Rio Grande, RS - Brazil

Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante