Hola!
Tengo un código el cual controla el sensor de temperatura DS1620 a través del PIC16F628.
Este código ya tiene seteados los valores TH y TL del DS1620, el cual dependiendo del valor de TH enciende un led, y si es TL enciende otro, que estos indican si la temperatura paso un umbral.
Ejemplo: Si pasa los 30 grados enciende led rojo, y si baja 17 grados enciende verde, estos valores en TH y TL.
El código lee los datos de la temperatura del sensor y los envía serialmente.
Quiero hacer una variación del código en el cual pueda modificar esos datos serialmente (el TH y TL), pero necesito crear un protocolo de comunicación en el cual al enviarle un valor por serial, el código sepa reconocer para que acción corresponde.
Ejemplo: Si de Python envío start, debería reconocer el código que es para iniciar la conversión, si envío stop, debería detenerla, si envío SETH + un valor, setee dicho valor en TH, si envío SETTL + valor, setee ese valor en TL.
Entonces la idea es que se pueda estar leyendo el valor de la temperatura pero si presiono alguna tecla cualquiera que tenga determinado cualquiera de esos 4 comandos, (start, stop, seth, setl), el codigo hecho en picbasic, pueda reconocer la acción y setear valor, detener, iniciar etc.
¿Alguien sabe cómo adaptar ese código para algo así? (Más que nada, cómo recibir el valor adaptado a un protocolo)
Supongo que con la función serin, pin,mode {timeout,label}{qual...}{item...}
Por ahí debo colocar algún protocolo + valor, que diga la acción.
Muchas gracias!!!
Tengo un código el cual controla el sensor de temperatura DS1620 a través del PIC16F628.
Este código ya tiene seteados los valores TH y TL del DS1620, el cual dependiendo del valor de TH enciende un led, y si es TL enciende otro, que estos indican si la temperatura paso un umbral.
Ejemplo: Si pasa los 30 grados enciende led rojo, y si baja 17 grados enciende verde, estos valores en TH y TL.
El código lee los datos de la temperatura del sensor y los envía serialmente.
Quiero hacer una variación del código en el cual pueda modificar esos datos serialmente (el TH y TL), pero necesito crear un protocolo de comunicación en el cual al enviarle un valor por serial, el código sepa reconocer para que acción corresponde.
Ejemplo: Si de Python envío start, debería reconocer el código que es para iniciar la conversión, si envío stop, debería detenerla, si envío SETH + un valor, setee dicho valor en TH, si envío SETTL + valor, setee ese valor en TL.
Entonces la idea es que se pueda estar leyendo el valor de la temperatura pero si presiono alguna tecla cualquiera que tenga determinado cualquiera de esos 4 comandos, (start, stop, seth, setl), el codigo hecho en picbasic, pueda reconocer la acción y setear valor, detener, iniciar etc.
¿Alguien sabe cómo adaptar ese código para algo así? (Más que nada, cómo recibir el valor adaptado a un protocolo)
Supongo que con la función serin, pin,mode {timeout,label}{qual...}{item...}
Por ahí debo colocar algún protocolo + valor, que diga la acción.
Muchas gracias!!!
Código:
include "Modedefs.bas
DEFINE OSC = 4
CMCON = 7
VRCON = 0
TRISA= %00000000
TRISB = % 00000000
CFGW CON $0C
CPUCN CON $02
START CON $EE
GETT CON $AA
STH CON $01
STL CON $02
DST var PortB.0
CLK Var PortB.1
RST var PortB.2
SER var PortB.3
Temp var byte
GCel var byte
gosub Init
GoSUB SetHL
gosub LetGo
e_go:
gosub Lee_T
GCel = Temp /2
serout ser,N2400,[GCel]
pause 250
goto e_go
end
Init:
High RST
shiftout DST,CLK,LSBFIRST,[CFGW,CPUCN]
low RST
pause 10
return
LetGo
high RST
shiftout DST,CLK,LSBFIRST,[START]
low RST
pause 10
return
Lee_T:
high RST
shiftout DST,CLK,LSBFIRST,[GetT]
shiftin DST,CLK,LSBPRE,[Temp]
low RST
return
SetHL:
high RST
shiftout DST,CLK,LSBFIRST,[SHL,48\9]
low RST
pause 10
high RST
shiftout DST,CLK,LSBFIRST,[STL,34\9]
low RST
pause 10
return
Última edición por un moderador: