User Tools

Site Tools


en:pfw:dht22-msp430g2553-noforth

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:pfw:dht22-msp430g2553-noforth [2025-04-25 01:09] – created mkaen:pfw:dht22-msp430g2553-noforth [2025-04-26 21:15] (current) mka
Line 1: Line 1:
-\ Read DHT22  (bitbang)+<code> 
 +\ Read DHT22 data.  (bit bang)
 \ TI MSP430G2553 Launchpad with noForth mv 2553 240101  \ TI MSP430G2553 Launchpad with noForth mv 2553 240101 
  
 (*  (* 
-To do: timeout +To do: monitor timeout 
  
 History History
-V0065 - Temperature in tenths of a degreemk 20250424 +v0066 - Display negative temperatures correctly. 
-V0064 - Loops named with ( A ) ... ( D ). Variants of loops B and D studied. This loop variation of B and D work well. Comments revised. mk 20250423 05:25+V0065 - Represent tenths of degrees of temperatures
 +V0064 - Loops named with ( A ) ... ( D ). Variants of loops B and D studied. These loop variations of B and D work well. Comments revised. mk 20250423 05:25
 V0063 - Cleaned up the code. Data output reduced to the essentials. mk 20250421 02:04 V0063 - Cleaned up the code. Data output reduced to the essentials. mk 20250421 02:04
 V0062 - Works well, output rounded to whole digits. mk 20250419 21:51 V0062 - Works well, output rounded to whole digits. mk 20250419 21:51
Line 27: Line 29:
 026  P1SEL   Port Select 026  P1SEL   Port Select
 041  P1SEL2  Port Select2 041  P1SEL2  Port Select2
-027  P1REN   Resistor Enable +027  P1REN   Resistor Enable
 *) *)
  
Line 35: Line 37:
 hex hex
  
-helper+tools
 code cls ( -- ) s0 # sp mov  next end-code  \ clear stack code cls ( -- ) s0 # sp mov  next end-code  \ clear stack
  
 code p1H     #1 021 & .b bis   next end-code \ set lines code p1H     #1 021 & .b bis   next end-code \ set lines
-code p1L     #1 021 & .b bic   next end-code +code p1L     #1 021 & .b bic   next end-code  
-code p6H   40 # 021 & .b bis   next end-code +code p6H   40 # 021 & .b bis   next end-code  
-code p6L   40 # 021 & .b bic   next end-code+code p6L   40 # 021 & .b bic   next end-code 
  
  
Line 56: Line 58:
   pio p1H p6H 1 ms  p1L 10 ms  ( p6L ) p1H  ; \ 1 ms == 100┬Ás !   pio p1H p6H 1 ms  p1L 10 ms  ( p6L ) p1H  ; \ 1 ms == 100┬Ás !
  
-Code @data ( -- sun moon hum tmp chk chksum )  \ read sensor data+Code @data ( -- sun moon  xx  yy  zz chksum )  \ read sensor data 
 +\  i.e     ( -- sun moon hum tmp chk chksum )
  \ get response time   \ get response time 
   #1 022 & .b bic \ p1,0 IN   #1 022 & .b bic \ p1,0 IN
Line 153: Line 156:
   ;   ;
  
-: .tmp ( tmp -- )   + 
-  10 /mod 3 .r [char] emit .+: .tmp ( tmp -- ) \ Print temperature with sign, one decimal place and degree symbol  
 +  dup hx 8000 and hx 8000 = 
 +      if [char] - else [char] + then emit 
 +  hx 7fff and ( tmp -- +tmp )   
 +  10 /mod 3 .r [char] emit .
   [char] f decemit    [char] f decemit 
   [char] C emit space   [char] C emit space
-  ;  \ ja, geht. +  ;  
      
-: .hum ( hum -- )  \ rounded to whole percent+: .hum ( hum -- )  \ Print the relative humidity rounded to whole digits
   10 / . ." %rel" space    10 / . ." %rel" space 
   ;     ;  
   
-: dht22 ( -- ) \ print temperatur and humidity+: dht22 ( -- ) \ get temperatur and humidity
   cr (dht22)   ( 2 + ) \ add 2 for 'else' part   cr (dht22)   ( 2 + ) \ add 2 for 'else' part
   = if ." chk  " else ." chksum error" cls exit then   = if ." chk  " else ." chksum error" cls exit then
Line 192: Line 198:
 freeze freeze
 ( finis) ( finis)
 +</code>
en/pfw/dht22-msp430g2553-noforth.1745536186.txt.gz · Last modified: 2025-04-25 01:09 by mka