Autor Tema: traducir digitalWrite a XC8  (Leído 693 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3119
traducir digitalWrite a XC8
« en: 15 de Octubre de 2019, 19:33:59 »
Cual es el equivalente de digitalWrite(IRQ, 0); siendo IRQ un pin definido como entrada: pinMode(IRQ, INPUT); en XC8 ?

He probado a definir el pin como entrada, y activar la pull-up interna en XC8, pero no funciona, estoy traduciendo un código de Arduino, y puede que tenga más errores, pero esa una traba que tengo ahora mismo.

Saludos!!!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7600
Re: traducir digitalWrite a XC8
« Respuesta #1 en: 15 de Octubre de 2019, 22:08:45 »
 Algo asi?

Código: C
  1. #define HIGH 1
  2. #define LOW 0
  3.  
  4.  
  5. void digitalWrite(pin,value){
  6.  
  7.         uint8_t TRISreg = pin;  // Los valores salen del pin
  8.         uint8_t LATreg = pin;
  9.         uint8_t bit_pos = pin;
  10.  
  11.         // Si esta como entrada
  12.         if(TRISreg && ( 1 << bit_post)) {
  13.  
  14.                 if(value) {
  15.                         // Activo Pull-up
  16.                 } else {
  17.                         // Desactivo Pull-up
  18.                 }
  19.  
  20.         } else {
  21.  
  22.         // Como salida
  23.                 if(value){
  24.                         LATreg |= (1 << bit_pos);
  25.                 } else {
  26.                         LATreg &= ~(1 << bit_pos);
  27.                 }
  28. }

Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 616
Re: traducir digitalWrite a XC8
« Respuesta #2 en: 16 de Octubre de 2019, 12:51:38 »
digitalWrite se utiliza para manejar salidas, si el pin esta como entrada , cual es el objetivo de escribirle un valor?
La electronica es el arte de manipular señales electricas que transportan información
Jan Davidse

Visita mi blog

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3119
Re: traducir digitalWrite a XC8
« Respuesta #3 en: 16 de Octubre de 2019, 16:19:11 »
digitalWrite se utiliza para manejar salidas, si el pin esta como entrada , cual es el objetivo de escribirle un valor?

Esa era mi duda, pero el programa original tenía esa línea, la he omitido en el PIC y parece funcionar.

Gracias KILLERJC y sander.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 899
    • Mexchip
Re: traducir digitalWrite a XC8
« Respuesta #4 en: 16 de Octubre de 2019, 16:38:14 »
digitalWrite se utiliza para manejar salidas, si el pin esta como entrada , cual es el objetivo de escribirle un valor?
Según la documentación de Arduino, configura la resistencia pull-up (https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/), tal como el código que puso KILLERJC:
Citar
If the pin is configured as an INPUT, digitalWrite() will enable (HIGH) or disable (LOW) the internal pullup on the input pin.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 616
Re: traducir digitalWrite a XC8
« Respuesta #5 en: 16 de Octubre de 2019, 16:46:44 »

Según la documentación de Arduino, configura la resistencia pull-up (https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/), tal como el código que puso KILLERJC:
Citar
If the pin is configured as an INPUT, digitalWrite() will enable (HIGH) or disable (LOW) the internal pullup on the input pin.

Lo que uno se entera al leer la documentación  :mrgreen:,
La electronica es el arte de manipular señales electricas que transportan información
Jan Davidse

Visita mi blog

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7600
Re: traducir digitalWrite a XC8
« Respuesta #6 en: 16 de Octubre de 2019, 16:47:39 »
Lo que uno se entera al leer la documentación  :mrgreen:,

No entiendo para que esta la documentacion xD, la mayoria le huye :P

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3119
Re: traducir digitalWrite a XC8
« Respuesta #7 en: 16 de Octubre de 2019, 19:02:10 »
Lo que uno se entera al leer la documentación  :mrgreen:,

No entiendo para que esta la documentacion xD, la mayoria le huye :P

Lo había leído, pero probé con la pull-up puesta y quitada, y no funcionaba el programa, el error estaba en otra parte.

La dejé quitada, que es lo que hace Arduino, y como entrada.

Saludos!!!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡


 

anything