Autor Tema: Mikro basic - lectura serial con Soft_Uart  (Leído 1847 veces)

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

Desconectado daniel3514

  • PIC10
  • *
  • Mensajes: 16
    • Tech Inside
Mikro basic - lectura serial con Soft_Uart
« en: 02 de Febrero de 2012, 01:37:28 »
Saludos, estoy haciendo un programa con un pic 16f84a, el tema es recibir serialmente informacion desde otro pic que envia un string con 3 letras al principio y 2 numeros en hexadecimasl al final, la libreria soft_uart solo recibe 1 caracter a la vez, hay manera de hacer un buffer para despues leerlo? u otro metodo para leer con esta libreria un string de texto?

gracias...
Open Source: Técnicamente Viable, Económicamente Sustentable, Socialmente Justo...

Desconectado daniel3514

  • PIC10
  • *
  • Mensajes: 16
    • Tech Inside
Re: Mikro basic - lectura serial con Soft_Uart
« Respuesta #1 en: 04 de Febrero de 2012, 16:35:07 »
Me auto respondo:
en un PIC 16F88

Código: QBasic/QuickBASIC
  1. program serverv02
  2.  
  3. DIM RXServer AS byte [6]   'para guardar los datos recibidos en byte
  4. DIM b AS word
  5.  
  6. SUB procedure RXSer
  7.     RXServer [0] = soft_uart_read (b) 'rutina de recepcion
  8.     RXServer [1] = soft_uart_read (b) 'rutina de recepcion
  9.     RXServer [2] = soft_uart_read (b) 'rutina de recepcion
  10.     RXServer [3] = soft_uart_read (b) 'rutina de recepcion
  11.     RXServer [4] = soft_uart_read (b) 'rutina de recepcion
  12.     RXServer [5] = soft_uart_read (b) 'rutina de recepcion
  13. END SUB
  14.  
  15. SUB procedure Ciclo
  16.     RXSer
  17.     soft_uart_write (rxserver [0])
  18.     soft_uart_write (rxserver [1])
  19.     soft_uart_write (rxserver [2])
  20.     soft_uart_write (rxserver [3])
  21.     soft_uart_write (rxserver [4])
  22.     soft_uart_write (rxserver [5])
  23.     GOTO Ciclo
  24. END SUB
  25.  
  26. main:
  27.  
  28. ansel = %00000000    'REGISTRO A CONFIG. O DIGITAL, 1 ANALOGICO
  29.  
  30. trisa.0 = 1
  31. trisa.1 = 0
  32. trisa.2 = 0
  33. trisa.3 = 0
  34. trisa.4 = 0
  35. trisb.0 = 1
  36. trisb.1 = 0
  37. trisb.2 = 0
  38. trisb.3 = 0
  39. trisb.4 = 0
  40. trisb.5 = 0
  41. trisb.6 = 0
  42. trisb.7 = 0
  43.  
  44. porta.1 = 0
  45. porta.2 = 0
  46. porta.3 = 0
  47. porta.4 = 0
  48. portb.0 = 0
  49. portb.1 = 0
  50. portb.2 = 0
  51. portb.3 = 0
  52. portb.4 = 0
  53. portb.5 = 0
  54. portb.6 = 0
  55. portb.7 = 0
  56.  
  57. 'Inicializadores ++++++++++++++++++++++++++++++++++++++++++
  58. UartReset                      'reset de uart
  59. '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  60.  
  61. Ciclo
  62.  

al final hice un pequeño buffer de 6 espacios, leo 6 veces el soft_uart_read y cada vez guardo en un espacio diferente de la variable....
Open Source: Técnicamente Viable, Económicamente Sustentable, Socialmente Justo...


 

anything