• Welcome to LusoRobótica - Robótica em Português.
 

LCD+ pic18F4685

Started by takersdown, 17 de August de 2013, 18:19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

takersdown

Boas,

alguém já utilizou LCD 16x2 com PIC18F4685?
MPLAB C18, bibliotecas XLCD.

beirao

Tenho para PIC 18F4520. Qual a tua dúvida mesmo?
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

takersdown

#2
Basta alterar o include e ficará funcional para  4685?

#pragma config FOSC = INTOSCIO_EC  é utilizado para a 4550 por exemplo

Qual o semelhante para a 4685? "#pragma config OSC = ...." ?

beirao

Mas tens a biblioteca e dá erro a compilar? Ou não faz o que queres? ou... ?

a definição OSC depende da tua fonte de relógio: interno? externo? de quantos mhz?
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

takersdown

Tenho a rular para 4550 com oscilador interno, mas qnd altero o include para 4685 nao rula.
Podera ter haver com #pragma config OSC , que não é igual e não sei bem qual usar.

Como posso por oscilador interno para 4685? Deveria dar a mesma biblioteca para para ambas correcto? A compilar da me bem, quando vejo na prática é que não é escrito nada no LCD.

beirao

Ah ok. Antes de mais, pode não ser do oscilador! Mas vamos por partes. Segundo o datasheet do teu PIC, tens:

1. LP Low-Power Crystal
2. XT Crystal/Resonator
3. HS High-Speed Crystal/Resonator
4. HSPLL High-Speed Crystal/Resonator with PLL enabled
5. RC External Resistor/Capacitor with FOSC/4 output on RA6
6. RCIO External Resistor/Capacitor with I/O on RA6
7. INTIO1 Internal Oscillator with FOSC/4 outputon RA6 and I/O on RA7
8. INTIO2 Internal Oscillator with I/O on RA6 and RA7
9. EC External Clock with FOSC/4 output
10. ECIO External Clock with I/O on RA6

Para o interno, experimenta o INTIO2.
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

takersdown

Esse pragma não pode ser utilizado. #pragma config OSC = INTIO2 , acusou erro.

Como posso fazer para utilizar interno?

Sérgio_Sena

#7
pic16F4685.h

EDIT: PIC18F4685.h
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

takersdown

A que uso é 18F, não resultou fazer o include da respectiva PIC.

Sérgio_Sena

Nao eh apenas fazer o include, isso eh para o pessoal dos Arduinos que tem a papinha toda feita.

Tens q abrir o ficheiro e ver como eh a a implementacao dos FUSES atraves do PRAGMA como informacao para o compilador.

Ja abriste o manual do compilador? estah lah tudo explicado, como usar os PRAGMAS para os FUSES.
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

takersdown

Sim, vi o manual do compilador.

Tentei usar o seguinte:
#pragma romdata CONFIG1H = 0x300001
const rom unsigned char config1H = 0b00001000;

Mas não resultou. O programa que tenho funcionava para a 4550, o que devo alterar é relativo aos pragmas mas também ao Oscilador correcto?

Sérgio_Sena

Normalmente os FUSES sao quase sempre os mesmos, a nao ser que haja uma grande diferenca de familia.

Mas como sao dois chips diferentes, apesar de estarem na familia PIC18, eh bastante provavel q a configuracao dos perifericos tenha alguma diferenca.
Com o avancar do tempo e melhoramento dos chips, a Microchip tem acrescentado alguns novos SFR's que melhoram os perifericos e acrescentam funcionalidades.

O meu conselho eh abrir os dois datasheets lado a lado e fazer a comparacao.
Tambem, na primeira pagina do Google, estah este link que de certeza te pode ajudar :: http://www.hairyraho.com/mk2-hardware-pic18f4620-interface-pcb/

Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

takersdown

Eu estou a usar compilador: C18.
Neste mesmo não é possível realizar a instrução: #FUSES NOWDT    //No Watch Dog Timer,
mas sim: #pragma config WDT = OFF


Eu no compilador ja conseguir, compilar sem erros mas na verdade no LCD nao é mostrada a mensagem.

Sérgio_Sena

Entao e consegues piscar um LED ?
Eh a maneira mais simples de saberes se o teu micro estah a correr.

Se sim, entao tens q fazer o debug da tua biblioteca e adaptar ao novo micro.
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

takersdown

Sim consigo colocar um LED a piscar. O mesmo programa que tenho para 4550 funciona mas para a 4685 não, não percebo é o porquê. Visto que os portos são numerados da mesma forma.