LusoRobótica - Robótica em Português
Sistemas específicos => PIC => Tópico iniciado por: takersdown em 17 de Agosto de 2013, 18:19
-
Boas,
alguém já utilizou LCD 16x2 com PIC18F4685?
MPLAB C18, bibliotecas XLCD.
-
Tenho para PIC 18F4520. Qual a tua dúvida mesmo?
-
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 = ...." ?
-
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?
-
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.
-
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.
-
Esse pragma não pode ser utilizado. #pragma config OSC = INTIO2 , acusou erro.
Como posso fazer para utilizar interno?
-
pic16F4685.h
EDIT: PIC18F4685.h
-
A que uso é 18F, não resultou fazer o include da respectiva PIC.
-
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.
-
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?
-
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/ (http://www.hairyraho.com/mk2-hardware-pic18f4620-interface-pcb/)
-
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.
-
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.
-
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.
-
Entao se o LED pisca, so falta comparar datasheets lado-a-lado e ver as diferencas nos SFR's.
O 4685 eh um chip mais moderno que o 4550, por isso de certeza tem algumas modificacoes internas.
Eles qd dizem q o codigo eh portavel, teem razao. Soh nao dizem q teem q se ter a certeza q tds os SFR's estao a ser configurados devidamente.
-
O que devo ter em atenção nos SFR?
os seus endereços?
-
Boa tarde,
como posso utilizar um LCD com PIC18F e stack tcp ip da microship? Devo adicionar o ficheiro xlcd.c em source files e xlcd.h em headers ou poderá fazer conflito com a pilha da stack?