collapse

* Posts Recentes

Emulador NES em ESP32 por jm_araujo
[Ontem às 18:12]


Circuito Microfone que funcione por almamater
[27 de Abril de 2024, 17:14]


Arame de Estendal por almamater
[18 de Abril de 2024, 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]

Autor Tópico: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]  (Lida 116727 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #165 em: 20 de Dezembro de 2012, 20:16 »
Boa noite,

Estou aqui com um problema na lcd library de Peter Fleury, e  nem estou a ver o que se está a passar. E as uns tempos a tras fiz umas brincadeiras.

Importei os 2 ficheiros lcd.c  e o lcd.h para o avr studio.
Abri  o lcd.h  e fiz as seguintes alterações.
Quando ligo o atmega não mostra nada, mas se colocar o exemplo hello world do arduino já aparece, apenas tenho de por RW em ground.
O que estou a fazer mal? 

Citar
#define XTAL 16000000
#define LCD_PORT         PORTD       
#define LCD_DATA0_PORT   LCD_PORT   
#define LCD_DATA1_PORT   LCD_PORT   
#define LCD_DATA2_PORT   LCD_PORT   
#define LCD_DATA3_PORT   LCD_PORT 
#define LCD_DATA0_PIN    0         
#define LCD_DATA1_PIN    1   
#define LCD_DATA2_PIN    2     
#define LCD_DATA3_PIN    3     
#define LCD_RS_PORT      LCD_PORT   
#define LCD_RS_PIN       5           
#define LCD_RW_PORT      LCD_PORT   
#define LCD_RW_PIN       6     
#define LCD_E_PORT       LCD_PORT 
#define LCD_E_PIN        4     
 
O codigo para o atmega é:
Citar
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
#include "lcd.h"
#include "lcd.c"

int main(void)
{
   lcd_init(LCD_DISP_ON);                /* initialize display, cursor off */
   lcd_clrscr();                      /* clear the screen*/
   lcd_puts("test program");
}



Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #166 em: 20 de Dezembro de 2012, 20:24 »
Não se faz include de um .c
Isso não está a dar erros?
Estás a dizer ao IDE onde é que tens a biblioteca lcd?
Avr fanboy

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #167 em: 20 de Dezembro de 2012, 20:50 »
Se tirar #include "lcd.c" tenho  3 erros.
[quote undefined reference to `lcd_init(unsigned char)'
 undefined reference to `lcd_clrscr()'
 undefined reference to `lcd_puts(char const*)'[/quote]



Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #168 em: 20 de Dezembro de 2012, 20:50 »
Mas não se faz includes de .c's!
Isso é o IDE/compilador que não sabe onde tens os ficheiros.

Vais a project options, em include directories, adicionas a pasta onde tens isso e em principio funciona.
Avr fanboy

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #169 em: 20 de Dezembro de 2012, 21:33 »
Mesmo assim continua a não aparecer nada, no lcd.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #170 em: 20 de Dezembro de 2012, 21:36 »
E isso está a compilar sem warnings?
Avr fanboy

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #171 em: 20 de Dezembro de 2012, 21:46 »
sim o projecto está a  compilar sem warmings. 

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #172 em: 01 de Janeiro de 2013, 13:10 »
Bom dia,
ainda não há muito tempo consegui fazer o " hello world " do arduino no avrstudio,  mas hoje fui tentar fazer novamente e nao consigo fazer.  Ainda por cima perdi o ficheiro onde tinha feito.

Quem puder dar uma vista de olhos agradeço.

codigo: http://pastebin.com/aB3FKr1n
« Última modificação: 01 de Janeiro de 2013, 13:13 por dio123 »

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #173 em: 02 de Janeiro de 2013, 00:04 »
já consegui fazer milis , ler portas analogicas, ligar lcd , porta serial e juntar isto tudo.
Devagarinho lá se vai aprendendo.

Tenho uma pequena questão mas pelo que apanhei no google nao funcionou.

no arduino tenho   tmpPass += keypressed; que acrescenta ao tmpPass  as teclas pressionadas e que da a senha colocada.

Agora no avr studio não é assim, e nao consigo encontrar como se faz, só aparece mas para o visual studio?



Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #174 em: 02 de Janeiro de 2013, 00:12 »
Isso é a usar strings?
Usas um array, que é o que isso faz por trás das cenas.
Avr fanboy

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 1.032
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #175 em: 03 de Janeiro de 2013, 13:38 »
o tmpPass e password estam defenidos como string 
keypressed está defenido como int
apanho os 4 numeros   tmpPass += keypressed;
depois no final verifico assim    if (tmpPass == password && count == 4 ){ lcd.println("autorizado")}

é que o programa do alarme não cabe no atmega8, por pouco, mas se fizer no avrstudio já deve caber.
e guardava o   atmega328  que faz sempre falta.

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #176 em: 18 de Janeiro de 2013, 21:36 »
Senso, consigo gravar programas com o arduino mas nao consigo com o avrdude. Da o erro stk500_getsync<>:not in sync resp: 0x00

Quando carrego no botao de reset? Ja tentei mal faço enter para carregar o programa, a meio, etc...

Eu ja consegui fazer isto, mas nao sei porque agora nao da...

Configurei o baud rate para 57600 no windows. Tenho é um atmega328 e nao 328p...

Cumps
"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #177 em: 18 de Janeiro de 2013, 21:53 »
Cola aqui o comando que estás a usar, porque se usares como nome do programador arduino ele faz auto-reset.
Avr fanboy

Offline c3dr1c

  • Mini Robot
  • *
  • Mensagens: 854
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #178 em: 18 de Janeiro de 2013, 22:00 »
Faz reset mas nao da na mesma :/



"O único modo de descobrir os limites do possivel é aventurarmo-nos um pouco para além deles em direcção ao impossivel."

Uma das Três Leis de Arthur C. Clarke

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Introdução ao avr-gcc usando o AvrStudio [Mais timers/mood light]
« Responder #179 em: 18 de Janeiro de 2013, 22:13 »
Tens o auto-reset do arduino desligado?
Avr fanboy