fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

I2C con DsPIC 30F2010

15 Respuestas
5 Usuarios
0 Reactions
10.3 K Visitas
dftcdftc
Respuestas: 3
Topic starter
(@dftcdftc)
New Member
Registrado: hace 17 años

Estoy intentando manejar el I2C en un DsPIC 30F2010, no utilize las librerías que vienen en el C30, sino que utilizo el Visual Initializer para configurar el micro (Cristal, interrupciones, PortB e I2C).

Lo que no tengo muy claro es que el momento de configurar el Master en donde se tiene que definir la velocidad, me pide que valor en Kbps ó bps, y nose como realizar el calculo para el valor en el registro I2CBRG (defino velocidad de transmision), en el pdf encontre la formula y calcule pero no me coincide el valor que calculé con el valor que me genera el Visual Initializer para el registro I2CBRG.

El cristal es de 7.3728 MHz con un PLL de 16x
Fcy == 29.4912 MHZ
FSCL = 100 KHz

La formula:

I2CBRG= [(FSC/FSCL)-(FSC/1111111)]-1

Responder
14 respuestas
fusion
Respuestas: 391
(@fusion)
Ardero
Registrado: hace 17 años

Edito2: Se me olvidó, con con esta nueva versión de MPLABX, ya no hace falta incluir los cabeceros de cada micro concreto. Simplemente se añade:
#include <xc.h>
Y ya está.

¿ein? Me acabo de comprar el ICD 3 que viene con MPLAB 8.7, ¿donde está el MPLABX?
Tampoco he encontrado el X16 dentro, a lo mejor he comprado lo que no debía

saludos y muchas gracias dragonet80 por tus indicaciones de uso de dos uarts simultáneas, me es muy útil

Responder
dragonet80
Respuestas: 1328
(@dragonet80)
Ardero
Registrado: hace 17 años

Los archivos, el IDE y los compiladores te los bajas de aquí:
http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads " onclick="window.open(this.href);return false;
Para tu caso, primero instala el MPLABX y después el compilador XC16.

¿ein? Me acabo de comprar el ICD 3 que viene con MPLAB 8.7, ¿donde está el MPLABX?
Tampoco he encontrado el X16 dentro, a lo mejor he comprado lo que no debía

El MPLABX está en el link que te puse. Mira que hay un botón rojo bien grande que pone "MPLABX FREE DOWNLOAD" 😉

Te recomiendo que tengas siempre a mano los documentos siguientes:
* Datasheet y errata del micro en cuestión.
* Manual de referencia de la familia 30F.
* Guia de usuario del compilador XC16.
Los documentos los puedes encontrar aquí:
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010343#documentation " onclick="window.open(this.href);return false;
http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_XC16_v1_10_C_Compiler_UG_52081.pdf " onclick="window.open(this.href);return false;
Y la referencia a las librerías estandard no he encontrado las específicas al MPLABX, pero las del MPLAB, de momento, pueden servir:
http://ww1.microchip.com/downloads/en/DeviceDoc/51456G.pdf " onclick="window.open(this.href);return false;

Y no estaría de más que te acostumbres a usar el "modo" o las "macros" CCI. Si no sabes lo que es o donde activarlo ya te lo explico más tarde.

Responder
fusion
Respuestas: 391
(@fusion)
Ardero
Registrado: hace 17 años

¡gracias! del último he encontrado uno con el mismo nombre pero con el doble de páginas y de librerías:
http://ww1.microchip.com/downloads/en/devicedoc/16bit_language_tool_libraries_51456c.pdf

Por ahora voy a intentar seguir con MPLAB pues he logrado el C30 full y el MPLABX dicen que es una de esas java multiplataformas grandes que sale barba mientras se abre y compila

Los documentos los estoy peleando, no sabía las erratas

Sí que me vendría bien lo de las macros

Responder
dragonet80
Respuestas: 1328
(@dragonet80)
Ardero
Registrado: hace 17 años

¡gracias! del último he encontrado uno con el mismo nombre pero con el doble de páginas y de librerías:
http://ww1.microchip.com/downloads/en/devicedoc/16bit_language_tool_libraries_51456c.pdf

Por ahora voy a intentar seguir con MPLAB pues he logrado el C30 full y el MPLABX dicen que es una de esas java multiplataformas grandes que sale barba mientras se abre y compila

Los documentos los estoy peleando, no sabía las erratas

Sí que me vendría bien lo de las macros
Ese que has puesto (51456C), si te fijas en el pie de página del pdf, es del 2005, en cambio el otro (51456G) era del 2010. Aunque tenga más páginas está obsoleto. Normalmente microchip le va añadiendo una letra diferente a cada revisión que hace de un documento. De momento no hay ninguna versión 51456H, pero si hiciesen una nueva, debería ser esa. Con los datasheets y todo lo demás funciona igual, la letra que sigue al código numérico indica la revisión. Procura tener siempre los documentos actualizados.

Las "erratas" son muy importantes. En teoría todos los micros deberían funcionar perfectamente, en la práctica no es así y los errores los van incluyendo en las erratas según se descubren. Eso puede ahorrarte horas o días de pelearte con el micro sin saber porque algo falla.

Que elijas uno u otro da lo mismo. Te acostumbras a ese y ya está. Ahora, lo de que "te sale barba..." es el típico argumento de algún "fan-boy" sin ningún sentido y que, seguramente, ni lo ha probado. Que quizá, con el cronómetro en mano, no llegue a ser tan rápido como la versión anterior? Podría ser, no llegué a cronometrarlo cuando tuve ambos a la vez, pero vamos, funciona sin ningún problema y lo uso en un netbook atom. De momento microchip sigue sacando actualizaciones al MPLAB, pero han apostado fuerte por el MPLABX y, más pronto o más tarde, los que se resisten deberán hacer el cambio.

Responder
fusion
Respuestas: 391
(@fusion)
Ardero
Registrado: hace 17 años

Je,je, sí, debe ser un fan boy, aunque a mí me ocurrió con el netbeans (c++ multiplataforma), con ese sí que te sale la barba comparando con el bueno del visual C++ 6.0 lástima esté obsoleto
Me he bajado el MPlab X con el X16 y aunque no lo necesite ahora también el XC8 y XC32, no vaya a ser que me haga falta más adelante y hayan cambiado de versión

saludos y muchas gracias de nuevo

Responder
Página 3 / 3
Compartir: