Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/10/2014 #2221


Muchas gracias D@rkbytes, compile con exito, perdon las molestias!
03/10/2014 #2222


kamk dijo: Ver Mensaje
Disculpen, alguno sabe como modificar la libreria usb_desc_cdc.h en CCS v4.y104 ?

pruebo este programa que encontre en youtube, pero me da una seguidilla de errores.

Código:
#include <18F4550.h>             //PIC a emplear
#device adc=10;                  //Conversor A/D de 10 bits
#fuses HSPLL,NOWDT,NOLVP,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=20000000)
include <usb_cdc.h>


void main(){
    unsigned long int fefe;
    usb_cdc_init();
    usb_init();
    while(!usb:cdc_connected()){}
    do{
       usb_task();
       if (usb_enumerated()){
            printf(usb_cdc_putc,"BARDXP: %Lu\r\n",fefe);
            fefe=fefe+1;
       }}while(TRUE);
       
}
Adjunto una imagen con los errores
No se si hace falta usb_task en el bucle while. Con hacerlo una vez antes de entrar bastaria. Ademas de lo que mencionaron anteriormente de reemplazar : por _ en usb_cdc etc.. el undefined es porque no encuentra las funciones. En particular nunca hice la comunicacion con CDC pero en la demas (HID o bulktransfer) hace falta incluir usb.c (#include <usb.c>).

Espero que te sirva !!
06/11/2014 #2223


Saludos.

Estoy intentando hacer la conexión USB entre el PIC18F4550 y la PC, el tipo de conexión es HID.
Ya hice la simulación en proteus 8.1 y funciona correctamente, pero al implementar en circuito físico, la PC no me reconoce nada, ni como un programa desconocido.
El programa del PIC está funcionando, porque tengo dos leds que indican la conexión, pero sólo se prende el rojo esperando a que se haga la conexión.

Adjunto una imagen del circuito y el código del programa que está grabado en el PIC.
Imágenes Adjuntas
Tipo de Archivo: jpg montaje.jpg (109,4 KB (Kilobytes), 56 visitas)
Archivos Adjuntos
Tipo de Archivo: txt usb.txt (2,3 KB (Kilobytes), 25 visitas)
08/11/2014 #2224

Avatar de Moyano Jonathan

Hola como estás.

Fijate si no es un error de hardware/configuración del cristal/cables D+ D- invertidos, etc. Mirá bien como están configurados los fusibles.

Saludos !
16/01/2015 #2225


hola espero me puedan ayudar al enviar un dato del adc se manda la parte alta del dac en un buffer alto y uno bajo esto hecho en ccs pero mi duda es como concateno en visual net para mostrarlo en un text.text en c++ he leido que es asi


// Une la parte alta y baja de la conversión y guarda el dato en la variable
// ADCxValue.
ADCValue1 = (uint)(BufferINP[5] << 8) + BufferINP[6];
ADCValue2 = (uint)(BufferINP[7] << 8) + BufferINP[8];
// Muestra los valores en las barras de progreso.
ADC1_VALUE.Value = (int)ADCValue1;
ADC2_VALUE.Value = (int)ADCValue2;

pero en Visual Basic.Net no se como se haga
16/01/2015 #2226

Avatar de papirrin

no me acuerdo muy bien peroo es simple, pones:

ADCValue1=(bufferinp(5)*256)+bufferinp(6)
text1.text=STR(adcvalue1)

no recuerdo si es 255 o 256 XD
16/01/2015 #2227


Gracias papirrin. Lo checo hoy en la noche y les aviso.
26/01/2015 #2228


robop18 dijo: Ver Mensaje
hola espero me puedan ayudar al enviar un dato del adc se manda la parte alta del dac en un buffer alto y uno bajo esto hecho en ccs pero mi duda es como concateno en visual net para mostrarlo en un text.text en c++ he leido que es asi


// Une la parte alta y baja de la conversión y guarda el dato en la variable
// ADCxValue.
ADCValue1 = (uint)(BufferINP[5] << 8) + BufferINP[6];
ADCValue2 = (uint)(BufferINP[7] << 8) + BufferINP[8];
// Muestra los valores en las barras de progreso.
ADC1_VALUE.Value = (int)ADCValue1;
ADC2_VALUE.Value = (int)ADCValue2;

pero en Visual Basic.Net no se como se haga
hola amigo yo hice algo parecido a lo que estas haciendo pero a la inversa mande numeros de 16 bits en un arreglo y en el pic lo estoy uniendo mira asi lo hice en el pic

x1=((int16)numx2*256)+numx1;

numx1=recibe[1]; //1er byte del numero X
numx2=recibe[2]; //2do byte del numero X

---------- Actualizado después de 2 minutos ----------

rodolfoandres dijo: Ver Mensaje
Saludos.

Estoy intentando hacer la conexión USB entre el PIC18F4550 y la PC, el tipo de conexión es HID.
Ya hice la simulación en proteus 8.1 y funciona correctamente, pero al implementar en circuito físico, la PC no me reconoce nada, ni como un programa desconocido.
El programa del PIC está funcionando, porque tengo dos leds que indican la conexión, pero sólo se prende el rojo esperando a que se haga la conexión.

Adjunto una imagen del circuito y el código del programa que está grabado en el PIC.
me parece que el error es que la pc no esta enumerando a tu pic, puede que no hayas copiado la *.dll a la carpeta windows/system32
29/01/2015 #2229


Gracias lcrs11 te dire que lo hice como me comento papirrin
ADCValue1 = (BufferIn(9) * 1024) + BufferIn(10) / 2
Temp1.Text = Str(ADCValue1)
NIVEL.Level = Val(Temp1.Text) + 1
me funciono ok aunque tambien si solo mostraba el valor de Bufferin(9) me daba lo mismo; sera por que el pic tengo justificado hacia la izquierda? (>>)
valor_adc_alta = (read_adc()>>8); // Enviamos la parte alta de la conversión de 10 bits.
valor_adc_baja = (int)(read_adc()); // Enviamos la parte baja de la conversión de 10 bits.
envia[10]=valor_adc_alta;
envia[11]=valor_adc_baja;

Aunque ahora me surge otra duda, programando en pic c me encuentro con varios void aparte del void main, quiero pensar que los demas void son como llamadas donde se ejecuta el codigo y despues regresa a donde se inicio la llamada; perdon por mi novatez soy autodidacta y me gustan los pics estoy realizando una interfaz con visual studio 2008 18f45450 Symbol Factory.Net windows 7 prof 64 bits ya probe la comunicacion y todo ok
gracias a los aportes de Moyano,Meta,Jose Villasmil, Mauricio Ferrer y Miguel Piñeiro y otros grandes que para mencionarlos son muchos Gracias

void Inicio(void); //llamamos a Inicio para determinarlo

void Inicio(void)
29/01/2015 #2230

Avatar de papirrin

Si son subrutinas como se hacen en basic, si en lugar de void pones un tipo como int long etc son como las funciones en basic y retorna el valor.
29/01/2015 #2231


Robop18 yo tambien ya realice la comunicacion por el puerto USB, con winXP, 32 bits, para hacerlo con un sistema operativo de 64 bits que dll estas usando no se si puedes facilitarme esa informacion.
29/01/2015 #2232


que tal lcrs11 te la adjunto en Verdad es un trabajo de moyano muy bueno solo que si hay que estudiarle
y el principal problema a veces son configuracion de los fuses; a la hora de programar debemos tener presente que crystal usamos; en win 7 64 bits tuve que compilar mi proyecto en visual net en Propiedades del proyecto/compilacion/opciones avanzadas/ como Any cpu y X86 y lo simulo en proteus 8 asi me evito estar instalando a cada rato el usb virtual

---------- Actualizado después de 5 minutos ----------

Perdon no subi el archivo pero aqui esta tambien me ayudo mucho el proyecto de josexremix65
Saludos
Archivos Adjuntos
Tipo de Archivo: rar Ejercicio.rar (3,42 MB (Megabytes), 75 visitas)
29/01/2015 #2233

Avatar de Moyano Jonathan

Código:
Robop18 yo tambien ya realice la comunicacion por el puerto USB, con winXP, 32 bits, para hacerlo con un sistema operativo de 64 bits que dll estas usando no se si puedes facilitarme esa informacion.
La misma librería tiene que funcionar para sistemas operativos de 32 y 64 bits. La librería tiene que estar en la carpeta SysWOW64, donde se encuentran las DLL del sistema. En caso de que utilices un sistema operativo de 32 bits, tiene que estar en la carpeta System32.

Saludos !
29/01/2015 #2234


Gracias por la aclaración, pense que esa dll solo servia para sistemas de 32 bits, lo preguntaba porque me comprare una nueva laptop y pues antes de meterle algun sistema operativo queria saber si me funcionaria o no algunos trabajos que hice.
29/01/2015 #2235

Avatar de Moyano Jonathan

Yo todavía no la pruebo en windows 8, pero creería que tendría que funcionar sin problemas. Tanto en 32 como en 64 bits.

Saludos !
09/02/2015 #2236


Hola Moyano he estado siguiendo tu excelente post! has avanzado en windows 8??
09/02/2015 #2237

Avatar de Moyano Jonathan

Todavía no pruebo nada en windows 8, por que no tengo el sistema operativo instalado. Saludos !
04/03/2015 #2238


Alguien se ha arriesgado a escribir el codigo de Moyano (primer pagina) en MikroC? Ocupo ayuda!!
05/03/2015 #2239

Avatar de Moyano Jonathan

Como estás Alfredo, El primer ejemplo está diseñado con las librerías de CCS. Tendrías que ver si MikroC a sacado librerías para implementar una conexión tipo CDC. Con MikroC vas a poder encontrar librerías para implementar un enlace tipo HID. También vas a poder encontrar una aplicación para realizar las pruebas HID.
25/04/2015 #2240


Hola Ya he probado instalando el dll en syswow64 y tampoco anda, si alguien los solucionó sería fantástico saber la solución

---------- Actualizado después de 2 minutos ----------

Hola, olvide comentar que en windows xp funciona correctamente
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.