ds18b20 lib

This commit is contained in:
Sergey Yarkov 2023-07-11 20:48:30 +03:00
parent 0285af5e64
commit 32318c620a
No known key found for this signature in database
GPG Key ID: E91CE1FABC619B6F
26 changed files with 911 additions and 155 deletions

View File

@ -0,0 +1 @@
$(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/dstemperature.c

View File

@ -0,0 +1 @@
$(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -g -DDEBUG -gdwarf-2 -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/dstemperature.c

Binary file not shown.

View File

@ -0,0 +1,60 @@
build/default/debug/dstemperature.o.d build/default/debug/dstemperature.o: \
dstemperature.c dstemperature.h onewire.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \
/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h
dstemperature.h:
onewire.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h:
/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h:

BIN
build/default/debug/main.o Normal file

Binary file not shown.

View File

@ -0,0 +1,60 @@
build/default/debug/main.o.d build/default/debug/main.o: main.c \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \
/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h onewire.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \
dstemperature.h
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h:
/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h:
onewire.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h:
dstemperature.h:

Binary file not shown.

View File

@ -0,0 +1,58 @@
build/default/debug/onewire.o.d build/default/debug/onewire.o: onewire.c \
onewire.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \
/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h
onewire.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h:
/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h:

Binary file not shown.

View File

@ -0,0 +1,61 @@
build/default/production/dstemperature.o.d \
build/default/production/dstemperature.o: dstemperature.c \
dstemperature.h onewire.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h \
/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h
dstemperature.h:
onewire.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdint.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdint.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/inttypes.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/interrupt.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/sfr_defs.h:
/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/include/avr/iotn45.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/portpins.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/common.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/version.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/fuse.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/lock.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/util/delay_basic.h:
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h:

Binary file not shown.

View File

@ -16,7 +16,8 @@ build/default/production/main.o.d build/default/production/main.o: main.c \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h onewire.h \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/math.h onewire.h \
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \ /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/stdio.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \ /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h \
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h \
dstemperature.h
/opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h: /opt/avr8-gnu-toolchain-linux_x86_64/avr/include/avr/io.h:
@ -55,3 +56,5 @@ onewire.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h: /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stdarg.h:
/opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h: /opt/avr8-gnu-toolchain-linux_x86_64/lib/gcc/avr/7.3.0/include/stddef.h:
dstemperature.h:

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,472 @@
Archive member included to satisfy reference by file (symbol)
/opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o (exit)
Discarded input sections
.data 0x0000000000000000 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
.bss 0x0000000000000000 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
.text 0x0000000000000000 0x0 build/default/debug/main.o
.data 0x0000000000000000 0x0 build/default/debug/main.o
.bss 0x0000000000000000 0x0 build/default/debug/main.o
.text 0x0000000000000000 0x0 build/default/debug/onewire.o
.data 0x0000000000000000 0x0 build/default/debug/onewire.o
.bss 0x0000000000000000 0x0 build/default/debug/onewire.o
.text 0x0000000000000000 0x0 build/default/debug/dstemperature.o
.data 0x0000000000000000 0x0 build/default/debug/dstemperature.o
.bss 0x0000000000000000 0x0 build/default/debug/dstemperature.o
.text 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.data 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.bss 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.text.libgcc.mul
0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.text.libgcc.div
0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.text.libgcc 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.text.libgcc.prologue
0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.text.libgcc.builtins
0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.text.libgcc.fmul
0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.text.libgcc.fixed
0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
Memory Configuration
Name Origin Length Attributes
text 0x0000000000000000 0x0000000000001000 xr
data 0x0000000000800060 0x0000000000000100 rw !x
eeprom 0x0000000000810000 0x0000000000000100 rw !x
fuse 0x0000000000820000 0x0000000000000003 rw !x
lock 0x0000000000830000 0x0000000000000400 rw !x
signature 0x0000000000840000 0x0000000000000400 rw !x
user_signatures 0x0000000000850000 0x0000000000000400 rw !x
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
LOAD /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
LOAD build/default/debug/main.o
LOAD build/default/debug/onewire.o
LOAD build/default/debug/dstemperature.o
0x0000000000000001 __MPLAB_BUILD = 0x1
0x0000000000000001 __ICD2RAM = 0x1
0x0000000000000001 __MPLAB_DEBUG = 0x1
0x0000000000000001 __DEBUG = 0x1
START GROUP
LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libm.a
END GROUP
START GROUP
LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a
LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libm.a
LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libc.a
LOAD /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/libattiny45.a
END GROUP
0x0000000000000000 __TEXT_REGION_ORIGIN__ = DEFINED (__TEXT_REGION_ORIGIN__)?__TEXT_REGION_ORIGIN__:0x0
[0x0000000000800060] __DATA_REGION_ORIGIN__ = DEFINED (__DATA_REGION_ORIGIN__)?__DATA_REGION_ORIGIN__:0x800060
[0x0000000000001000] __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x2000
[0x0000000000000100] __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0
[0x0000000000000100] __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000
[0x0000000000000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400
0x0000000000000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400
0x0000000000000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400
0x0000000000000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400
.hash
*(.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.init
*(.rel.init)
.rela.init
*(.rela.init)
.rel.text
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
.rela.text
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
.rel.fini
*(.rel.fini)
.rela.fini
*(.rela.fini)
.rel.rodata
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
.rela.rodata
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
.rel.data
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
.rela.data
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
.rel.ctors
*(.rel.ctors)
.rela.ctors
*(.rela.ctors)
.rel.dtors
*(.rel.dtors)
.rela.dtors
*(.rela.dtors)
.rel.got
*(.rel.got)
.rela.got
*(.rela.got)
.rel.bss
*(.rel.bss)
.rela.bss
*(.rela.bss)
.rel.plt
*(.rel.plt)
.rela.plt
*(.rela.plt)
.text 0x0000000000000000 0x266
*(.vectors)
.vectors 0x0000000000000000 0x1e /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
0x0000000000000000 __vectors
0x0000000000000000 __vector_default
*(.vectors)
*(.progmem.gcc*)
0x000000000000001e . = ALIGN (0x2)
0x000000000000001e __trampolines_start = .
*(.trampolines)
.trampolines 0x000000000000001e 0x0 linker stubs
*(.trampolines*)
0x000000000000001e __trampolines_end = .
*libprintf_flt.a:*(.progmem.data)
*libc.a:*(.progmem.data)
*(.progmem*)
0x000000000000001e . = ALIGN (0x2)
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x000000000000001e __ctors_start = .
*(.ctors)
0x000000000000001e __ctors_end = .
0x000000000000001e __dtors_start = .
*(.dtors)
0x000000000000001e __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x000000000000001e 0x0 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
0x000000000000001e __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x000000000000001e 0xc /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x000000000000002a 0x4 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
*(.init9)
*(.text)
.text 0x000000000000002e 0x2 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
0x000000000000002e __vector_1
0x000000000000002e __vector_12
0x000000000000002e __bad_interrupt
0x000000000000002e __vector_6
0x000000000000002e __vector_3
0x000000000000002e __vector_11
0x000000000000002e __vector_13
0x000000000000002e __vector_7
0x000000000000002e __vector_5
0x000000000000002e __vector_4
0x000000000000002e __vector_9
0x000000000000002e __vector_2
0x000000000000002e __vector_8
0x000000000000002e __vector_14
0x000000000000002e __vector_10
0x0000000000000030 . = ALIGN (0x2)
*(.text.*)
.text.MCU_Init
0x0000000000000030 0x8 build/default/debug/main.o
0x0000000000000030 MCU_Init
.text.main 0x0000000000000038 0x26 build/default/debug/main.o
0x0000000000000038 main
.text.OneWire_Presence
0x000000000000005e 0x36 build/default/debug/onewire.o
0x000000000000005e OneWire_Presence
.text.OneWire_WriteByte
0x0000000000000094 0x3e build/default/debug/onewire.o
0x0000000000000094 OneWire_WriteByte
.text.OneWire_ReadByte
0x00000000000000d2 0x34 build/default/debug/onewire.o
0x00000000000000d2 OneWire_ReadByte
.text.OneWire_SkipROM
0x0000000000000106 0x10 build/default/debug/onewire.o
0x0000000000000106 OneWire_SkipROM
.text.OneWire_ReadROM
0x0000000000000116 0x32 build/default/debug/onewire.o
0x0000000000000116 OneWire_ReadROM
.text.OneWire_CRC8_Update
0x0000000000000148 0x2c build/default/debug/onewire.o
0x0000000000000148 OneWire_CRC8_Update
.text.DallasTemp_ReadScratchpad
0x0000000000000174 0x48 build/default/debug/dstemperature.o
0x0000000000000174 DallasTemp_ReadScratchpad
.text.DallasTemp_Convert
0x00000000000001bc 0x14 build/default/debug/dstemperature.o
0x00000000000001bc DallasTemp_Convert
.text.DallasTemp_GetTemperature
0x00000000000001d0 0x92 build/default/debug/dstemperature.o
0x00000000000001d0 DallasTemp_GetTemperature
0x0000000000000262 . = ALIGN (0x2)
*(.fini9)
.fini9 0x0000000000000262 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
0x0000000000000262 exit
0x0000000000000262 _exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x0000000000000262 0x4 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
*(.fini0)
0x0000000000000266 _etext = .
.data 0x0000000000800060 0x0 load address 0x0000000000000266
[!provide] PROVIDE (__data_start, .)
*(.data)
*(.data*)
*(.gnu.linkonce.d*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.r*)
0x0000000000800060 . = ALIGN (0x2)
0x0000000000800060 _edata = .
[!provide] PROVIDE (__data_end, .)
.bss 0x0000000000800060 0x0
[!provide] PROVIDE (__bss_start, .)
*(.bss)
*(.bss*)
*(COMMON)
[!provide] PROVIDE (__bss_end, .)
0x0000000000000266 __data_load_start = LOADADDR (.data)
0x0000000000000266 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0000000000800060 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x0000000000800060 _end = .
[!provide] PROVIDE (__heap_start, .)
.eeprom 0x0000000000810000 0x0
*(.eeprom*)
0x0000000000810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.user_signatures
*(.user_signatures*)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x0000000000000000 0x30
*(.comment)
.comment 0x0000000000000000 0x30 build/default/debug/main.o
0x31 (size before relaxing)
.comment 0x0000000000000030 0x31 build/default/debug/onewire.o
.comment 0x0000000000000030 0x31 build/default/debug/dstemperature.o
.note.gnu.avr.deviceinfo
0x0000000000000000 0x3c
.note.gnu.avr.deviceinfo
0x0000000000000000 0x3c /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
.note.gnu.build-id
*(.note.gnu.build-id)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x0000000000000000 0xa0
*(.debug_aranges)
.debug_aranges
0x0000000000000000 0x28 build/default/debug/main.o
.debug_aranges
0x0000000000000028 0x48 build/default/debug/onewire.o
.debug_aranges
0x0000000000000070 0x30 build/default/debug/dstemperature.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x0000000000000000 0x1002
*(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x0000000000000000 0x420 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
.debug_info 0x0000000000000420 0x24d build/default/debug/main.o
.debug_info 0x000000000000066d 0x59b build/default/debug/onewire.o
.debug_info 0x0000000000000c08 0x3fa build/default/debug/dstemperature.o
.debug_abbrev 0x0000000000000000 0x993
*(.debug_abbrev)
.debug_abbrev 0x0000000000000000 0x3e8 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
.debug_abbrev 0x00000000000003e8 0x152 build/default/debug/main.o
.debug_abbrev 0x000000000000053a 0x238 build/default/debug/onewire.o
.debug_abbrev 0x0000000000000772 0x221 build/default/debug/dstemperature.o
.debug_line 0x0000000000000000 0x672
*(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x0000000000000000 0xf2 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
.debug_line 0x00000000000000f2 0xe2 build/default/debug/main.o
.debug_line 0x00000000000001d4 0x30a build/default/debug/onewire.o
.debug_line 0x00000000000004de 0x194 build/default/debug/dstemperature.o
.debug_frame 0x0000000000000000 0x13c
*(.debug_frame)
.debug_frame 0x0000000000000000 0x44 build/default/debug/main.o
.debug_frame 0x0000000000000044 0x88 build/default/debug/onewire.o
.debug_frame 0x00000000000000cc 0x70 build/default/debug/dstemperature.o
.debug_str 0x0000000000000000 0x480
*(.debug_str)
.debug_str 0x0000000000000000 0x169 /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
.debug_str 0x0000000000000169 0x1d7 build/default/debug/main.o
0x218 (size before relaxing)
.debug_str 0x0000000000000340 0xda build/default/debug/onewire.o
0x278 (size before relaxing)
.debug_str 0x000000000000041a 0x66 build/default/debug/dstemperature.o
0x2ef (size before relaxing)
.debug_loc 0x0000000000000000 0x76d
*(.debug_loc)
.debug_loc 0x0000000000000000 0x47 build/default/debug/main.o
.debug_loc 0x0000000000000047 0x57b build/default/debug/onewire.o
.debug_loc 0x00000000000005c2 0x1ab build/default/debug/dstemperature.o
.debug_macinfo
*(.debug_macinfo)
.debug_weaknames
*(.debug_weaknames)
.debug_funcnames
*(.debug_funcnames)
.debug_typenames
*(.debug_typenames)
.debug_varnames
*(.debug_varnames)
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges 0x0000000000000000 0x88
*(.debug_ranges)
.debug_ranges 0x0000000000000000 0x18 build/default/debug/main.o
.debug_ranges 0x0000000000000018 0x50 build/default/debug/onewire.o
.debug_ranges 0x0000000000000068 0x20 build/default/debug/dstemperature.o
.debug_macro
*(.debug_macro)
OUTPUT(dist/default/debug/attiny45v_thermometer.X.debug.elf elf32-avr)
LOAD linker stubs

View File

@ -1,41 +1,40 @@
:100000000EC015C014C013C012C011C010C00FC064 :100000000EC015C014C013C012C011C010C00FC064
:100010000EC00DC00CC00BC00AC009C008C011241E :100010000EC00DC00CC00BC00AC009C008C011241E
:100020001FBECFE5D1E0DEBFCDBF7FD025C1E8CF79 :100020001FBECFE5D1E0DEBFCDBF06D01AC1E8CFFD
:10003000EF92FF920F931F93CF93DF937C01D9D060 :1000300086E087BB18BA0895CF93DF93CDB7DEB7BC
:100040008EEB9FD0E7018701085F1F4FB8D08993DF :1000400063970FB6F894DEBF0FBECDBFF1DFCE01D0
:10005000C017D107D9F768E070E0C701EBD0C82F0F :10005000099661D0CE010196BBD00000F8CFF8948C
:10006000AED0C81741F080E0DF91CF911F910F9182 :10006000BC9A8FEB93E00197F1F700C0000087B3D3
:10007000FF90EF900895000081E0F6CF69D08111E4 :1000700017BA9AEB9A95F1F700C086B3E3E3F3E081
:1000800001C008958CEC7DD084E47BD081E0F9CF71 :100080003197F1F700C0000078948295817091E07B
:10009000CF93DF93EC01F2DF811103C0DF91CF91A9 :100090008927089598E00EC0BC9A20EA2A95F1F7C6
:1000A00008952FE78FE492E1215080409040E1F7DE :1000A00027B317BA2AE12A95F1F700C0789486950C
:1000B00000C00000CE01BCDF882381F38881498124 :1000B000915071F0F89480FFEFCFBC9A20E12A951F
:1000C000542F482F9A0133234CF1359527953595B8 :1000C000F1F727B317BA2AEA2A95F1F700C0EECF65
:1000D00027953595279535952795398B288B8F70E2 :1000D000089598E080E007C022E92A95F1F700C072
:1000E000282F30E0C901880F991F820F931FAC01A0 :1000E0007894915079F0F8948695BC9A20E12A95FD
:1000F000440F551F42955295507F5427407F5427F7 :1000F000F1F727B317BA28E12A95F1F7B49BECCFB3
:10010000840F951F820F931F9595879595958795D9 :100100008068EACF0895ABDF811101C008958CECBF
:1001100095958795959587958A8BC0CF215F3F4FA1 :10011000C1DF81E0FBCF0F931F93CF93DF938C015F
:10012000D4CF86E087BB18BA0895CF93DF93CDB7BD :100120009EDF811105C0DF91CF911F910F9108953E
:10013000DEB763970FB6F894DEBF0FBECDBFF1DF19 :1001300083E3B0DFE801085F1F4FCBDF8993C0176F
:10014000CE0109965ED0CE010196A2DF0000F8CF65 :10014000D107D9F781E0EFCFFC01680F791F80E07C
:10015000F89491E097BBEFEBF3E03197F1F700C033 :100150002CE80BC08695915029F080FFFBCF869547
:10016000000017BAFAEBFA95F1F700C086B3E3E3A3 :100160008227F9CFE617F70721F09191892798E0C8
:10017000F3E03197F1F700C000007894892781708F :10017000F4CF0895EF92FF920F931F93CF93DF93E5
:10018000089598E021E00DC027BB30EA3A95F1F7D9 :100180007C01C1DF8EEB86DFE7018701085F1F4F2F
:1001900017BA3AE13A95F1F700C0789486959150F4 :10019000A0DF8993C017D107D9F768E070E0C701E5
:1001A00069F0F89480FFF0CF27BB30E13A95F1F782 :1001A000D3DFC82F96DF91E0C81390E0892FDF914D
:1001B00017BA3AEA3A95F1F700C0EFCF089598E000 :1001B000CF911F910F91FF90EF90089550DF811123
:1001C00080E021E007C032E93A95F1F700C0789469 :1001C00001C008958CEC66DF84E464DF81E0F9CF40
:1001D000915071F0F894869527BB30E13A95F1F78C :1001D000CF93DF93EC01F2DF811103C0DF91CF9168
:1001E00017BA38E13A95F1F7B09BEDCF8068EBCFC5 :1001E00008952FE78FE492E1215080409040E1F79D
:1001F0000895AEDF811101C008958CECC2DF81E06B :1001F00000C00000CE01BEDF882381F388814981E1
:10020000FBCF0F931F93CF93DF938C01A1DF81115D :10020000542F482F9A0133234CF135952795359576
:1002100005C0DF91CF911F910F91089583E3B1DF66 :1002100027953595279535952795398B288B8F70A0
:10022000E801085F1F4FCBDF8993C017D107D9F7CB :10022000282F30E0C901880F991F820F931FAC015E
:1002300081E0EFCFFC0161157105E1F050E080E055 :10023000440F551F42955295507F5427407F5427B5
:1002400030E020E04CE80EC08695915029F080FF08 :10024000840F951F820F931F959587959595879598
:10025000FBCF86958427F9CF5F5F252F30E02617E7 :1002500095958795959587958A8BC0CF215F3F4F60
:10026000370738F42E0F3F1FD9019C91892798E05A :06026000D4CFF894FFCF9B
:0C027000EECF089580E00895F894FFCFD1
:00000001FF :00000001FF

View File

@ -13,6 +13,9 @@ Discarded input sections
.text 0x0000000000000000 0x0 build/default/production/onewire.o .text 0x0000000000000000 0x0 build/default/production/onewire.o
.data 0x0000000000000000 0x0 build/default/production/onewire.o .data 0x0000000000000000 0x0 build/default/production/onewire.o
.bss 0x0000000000000000 0x0 build/default/production/onewire.o .bss 0x0000000000000000 0x0 build/default/production/onewire.o
.text 0x0000000000000000 0x0 build/default/production/dstemperature.o
.data 0x0000000000000000 0x0 build/default/production/dstemperature.o
.bss 0x0000000000000000 0x0 build/default/production/dstemperature.o
.text 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) .text 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.data 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) .data 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
.bss 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) .bss 0x0000000000000000 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
@ -47,6 +50,7 @@ Linker script and memory map
LOAD /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o LOAD /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
LOAD build/default/production/main.o LOAD build/default/production/main.o
LOAD build/default/production/onewire.o LOAD build/default/production/onewire.o
LOAD build/default/production/dstemperature.o
0x0000000000000001 __MPLAB_BUILD = 0x1 0x0000000000000001 __MPLAB_BUILD = 0x1
START GROUP START GROUP
LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libm.a LOAD /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib/avr25/libm.a
@ -157,7 +161,7 @@ END GROUP
.rela.plt .rela.plt
*(.rela.plt) *(.rela.plt)
.text 0x0000000000000000 0x27c .text 0x0000000000000000 0x266
*(.vectors) *(.vectors)
.vectors 0x0000000000000000 0x1e /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o .vectors 0x0000000000000000 0x1e /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/gcc/dev/attiny45/avr25/crtattiny45.o
0x0000000000000000 __vectors 0x0000000000000000 __vectors
@ -229,43 +233,43 @@ END GROUP
0x000000000000002e __vector_10 0x000000000000002e __vector_10
0x0000000000000030 . = ALIGN (0x2) 0x0000000000000030 . = ALIGN (0x2)
*(.text.*) *(.text.*)
.text.DallasTemp_ReadScratchpad
0x0000000000000030 0x4c build/default/production/main.o
0x0000000000000030 DallasTemp_ReadScratchpad
.text.DallasTemp_Convert
0x000000000000007c 0x14 build/default/production/main.o
0x000000000000007c DallasTemp_Convert
.text.DallasTemp_GetTemperature
0x0000000000000090 0x92 build/default/production/main.o
0x0000000000000090 DallasTemp_GetTemperature
.text.MCU_Init .text.MCU_Init
0x0000000000000122 0x8 build/default/production/main.o 0x0000000000000030 0x8 build/default/production/main.o
0x0000000000000122 MCU_Init 0x0000000000000030 MCU_Init
.text.main 0x000000000000012a 0x26 build/default/production/main.o .text.main 0x0000000000000038 0x26 build/default/production/main.o
0x000000000000012a main 0x0000000000000038 main
.text.OneWire_Presence .text.OneWire_Presence
0x0000000000000150 0x32 build/default/production/onewire.o 0x000000000000005e 0x36 build/default/production/onewire.o
0x0000000000000150 OneWire_Presence 0x000000000000005e OneWire_Presence
.text.OneWire_WriteByte .text.OneWire_WriteByte
0x0000000000000182 0x3c build/default/production/onewire.o 0x0000000000000094 0x3e build/default/production/onewire.o
0x0000000000000182 OneWire_WriteByte 0x0000000000000094 OneWire_WriteByte
.text.OneWire_ReadByte .text.OneWire_ReadByte
0x00000000000001be 0x34 build/default/production/onewire.o 0x00000000000000d2 0x34 build/default/production/onewire.o
0x00000000000001be OneWire_ReadByte 0x00000000000000d2 OneWire_ReadByte
.text.OneWire_SkipROM .text.OneWire_SkipROM
0x00000000000001f2 0x10 build/default/production/onewire.o 0x0000000000000106 0x10 build/default/production/onewire.o
0x00000000000001f2 OneWire_SkipROM 0x0000000000000106 OneWire_SkipROM
.text.OneWire_ReadROM .text.OneWire_ReadROM
0x0000000000000202 0x32 build/default/production/onewire.o 0x0000000000000116 0x32 build/default/production/onewire.o
0x0000000000000202 OneWire_ReadROM 0x0000000000000116 OneWire_ReadROM
.text.OneWire_CRC8_Update .text.OneWire_CRC8_Update
0x0000000000000234 0x44 build/default/production/onewire.o 0x0000000000000148 0x2c build/default/production/onewire.o
0x0000000000000234 OneWire_CRC8_Update 0x0000000000000148 OneWire_CRC8_Update
0x0000000000000278 . = ALIGN (0x2) .text.DallasTemp_ReadScratchpad
0x0000000000000174 0x48 build/default/production/dstemperature.o
0x0000000000000174 DallasTemp_ReadScratchpad
.text.DallasTemp_Convert
0x00000000000001bc 0x14 build/default/production/dstemperature.o
0x00000000000001bc DallasTemp_Convert
.text.DallasTemp_GetTemperature
0x00000000000001d0 0x92 build/default/production/dstemperature.o
0x00000000000001d0 DallasTemp_GetTemperature
0x0000000000000262 . = ALIGN (0x2)
*(.fini9) *(.fini9)
.fini9 0x0000000000000278 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) .fini9 0x0000000000000262 0x0 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
0x0000000000000278 exit 0x0000000000000262 exit
0x0000000000000278 _exit 0x0000000000000262 _exit
*(.fini9) *(.fini9)
*(.fini8) *(.fini8)
*(.fini8) *(.fini8)
@ -284,11 +288,11 @@ END GROUP
*(.fini1) *(.fini1)
*(.fini1) *(.fini1)
*(.fini0) *(.fini0)
.fini0 0x0000000000000278 0x4 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o) .fini0 0x0000000000000262 0x4 /opt/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/7.3.0/avr25/libgcc.a(_exit.o)
*(.fini0) *(.fini0)
0x000000000000027c _etext = . 0x0000000000000266 _etext = .
.data 0x0000000000800060 0x0 load address 0x000000000000027c .data 0x0000000000800060 0x0 load address 0x0000000000000266
[!provide] PROVIDE (__data_start, .) [!provide] PROVIDE (__data_start, .)
*(.data) *(.data)
*(.data*) *(.data*)
@ -306,8 +310,8 @@ END GROUP
*(.bss*) *(.bss*)
*(COMMON) *(COMMON)
[!provide] PROVIDE (__bss_end, .) [!provide] PROVIDE (__bss_end, .)
0x000000000000027c __data_load_start = LOADADDR (.data) 0x0000000000000266 __data_load_start = LOADADDR (.data)
0x000000000000027c __data_load_end = (__data_load_start + SIZEOF (.data)) 0x0000000000000266 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0000000000800060 0x0 .noinit 0x0000000000800060 0x0
[!provide] PROVIDE (__noinit_start, .) [!provide] PROVIDE (__noinit_start, .)
@ -358,6 +362,7 @@ END GROUP
.comment 0x0000000000000000 0x30 build/default/production/main.o .comment 0x0000000000000000 0x30 build/default/production/main.o
0x31 (size before relaxing) 0x31 (size before relaxing)
.comment 0x0000000000000030 0x31 build/default/production/onewire.o .comment 0x0000000000000030 0x31 build/default/production/onewire.o
.comment 0x0000000000000030 0x31 build/default/production/dstemperature.o
.note.gnu.avr.deviceinfo .note.gnu.avr.deviceinfo
0x0000000000000000 0x3c 0x0000000000000000 0x3c

32
dstemperature.c Normal file
View File

@ -0,0 +1,32 @@
#include "dstemperature.h"
uint8_t DallasTemp_ReadScratchpad(uint8_t *scratchpad) {
OneWire_SkipROM();
OneWire_WriteByte(DS18B20_CMD_RSCRATCHPAD);
for (uint8_t i = 0; i < 8; i++) {
scratchpad[i] = OneWire_ReadByte();
}
uint8_t calculated_crc = OneWire_CRC8_Update(scratchpad, 8);
uint8_t crc = OneWire_ReadByte();
if (calculated_crc != crc) return 0;
return 1;
}
uint8_t DallasTemp_Convert(void) {
if (!OneWire_Presence()) return 0;
OneWire_WriteByte(ONE_WIRE_SKIPROM);
OneWire_WriteByte(DS18B20_CMD_CONVERTTEMP);
return 1;
}
void DallasTemp_GetTemperature(DallasSensor *Sensor) {
if (!DallasTemp_Convert()) return;
_delay_ms(750);
if (!DallasTemp_ReadScratchpad(Sensor->SCRATCHPAD)) return;
Sensor->TEMPERATURE = ((Sensor->SCRATCHPAD[1] << 8) | Sensor->SCRATCHPAD[0]) / 16;
Sensor->TEMPERATURE_FRACTION = ((Sensor->SCRATCHPAD[0] & 0x0f) * 100) / 16;
}

36
dstemperature.h Normal file
View File

@ -0,0 +1,36 @@
#include "onewire.h"
#define DS18B20_CMD_CONVERTTEMP 0x44
#define DS18B20_CMD_RSCRATCHPAD 0xbe
#ifndef DSTEMPERATURE_H
#define DSTEMPERATURE_H
typedef struct DallasSensor {
uint8_t SCRATCHPAD[8]; // ОЗУ
uint8_t ROM[8]; // ПЗУ
int16_t TEMPERATURE; // Температура в градусах цельсия (целая часть)
uint8_t TEMPERATURE_FRACTION; // Дробная часть
} DallasSensor;
/**
* Читает ОЗУ датчика
* @param scratchpad - первые 8 байт.
* @return "1" - если данные успешно прочитались, "0" - если данные искажены
*/
uint8_t DallasTemp_ReadScratchpad(uint8_t *scratchpad);
/**
* Отправляет команду для оцифровки температуры.
* @return "1" - если команда отправлена, "0" - если не было ответа от датчика
*/
uint8_t DallasTemp_Convert(void);
/**
* Получает оцифрованное значение датчика и конвертирует занчение в читаемый вид.
* @param Sensor - структура датчика
*/
void DallasTemp_GetTemperature(DallasSensor *Sensor);
#endif /* DSTEMPERATURE_H */

63
main.c
View File

@ -2,62 +2,15 @@
#include <avr/interrupt.h> #include <avr/interrupt.h>
#include <util/delay.h> #include <util/delay.h>
#include "onewire.h" #include "onewire.h"
#include "dstemperature.h"
#define DS18B20_CMD_CONVERTTEMP 0x44 #define DDR_USI DDRB
#define DS18B20_CMD_RSCRATCHPAD 0xbe #define PORT_USI PORTB
#define PIN_USI PINB
typedef struct DallasSensor { #define PORT_USI_SDA PB0
uint8_t SCRATCHPAD[8]; // ОЗУ #define PORT_USI_SCL PB2
uint8_t ROM[8]; // ПЗУ #define PIN_USI_SDA PINB0
int16_t TEMPERATURE; // Температура в градусах цельсия (целая часть) #define PIN_USI_SCL PINB2
uint8_t TEMPERATURE_FRACTION; // Дробная часть
} DallasSensor;
/**
* Читает ОЗУ датчика
* @param scratchpad - первые 8 байт.
* @return "1" - если данные успешно прочитались, "0" - если данные искажены
*/
uint8_t DallasTemp_ReadScratchpad(uint8_t *scratchpad) {
OneWire_SkipROM();
OneWire_WriteByte(DS18B20_CMD_RSCRATCHPAD);
for (uint8_t i = 0; i < 8; i++) {
scratchpad[i] = OneWire_ReadByte();
}
uint8_t calculated_crc = OneWire_CRC8_Update(scratchpad, 8);
uint8_t crc = OneWire_ReadByte();
if (calculated_crc != crc) return 0;
asm("nop");
return 1;
}
/**
* Отправляет команду для оцифровки температуры.
* @return "1" - если команда отправлена, "0" - если не было ответа от датчика
*/
uint8_t DallasTemp_Convert() {
if (!OneWire_Presence()) return 0;
OneWire_WriteByte(ONE_WIRE_SKIPROM);
OneWire_WriteByte(DS18B20_CMD_CONVERTTEMP);
return 1;
}
/**
* Получает оцифрованное значение датчика и конвертирует занчение в читаемый вид.
* @param Sensor - структура датчика
*/
void DallasTemp_GetTemperature(DallasSensor *Sensor) {
if (!DallasTemp_Convert()) return;
_delay_ms(750);
if (!DallasTemp_ReadScratchpad(Sensor->SCRATCHPAD)) return;
Sensor->TEMPERATURE = ((Sensor->SCRATCHPAD[1] << 8) | Sensor->SCRATCHPAD[0]) / 16;
Sensor->TEMPERATURE_FRACTION = ((Sensor->SCRATCHPAD[0] & 0x0f) * 100) / 16;
}
void MCU_Init(void) { void MCU_Init(void) {
DDRB = _BV(PB1) | _BV(PB2); DDRB = _BV(PB1) | _BV(PB2);

View File

@ -57,17 +57,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
# Source Files Quoted if spaced # Source Files Quoted if spaced
SOURCEFILES_QUOTED_IF_SPACED=main.c onewire.c SOURCEFILES_QUOTED_IF_SPACED=main.c onewire.c dstemperature.c
# Object Files Quoted if spaced # Object Files Quoted if spaced
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.o ${OBJECTDIR}/onewire.o OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.o ${OBJECTDIR}/onewire.o ${OBJECTDIR}/dstemperature.o
POSSIBLE_DEPFILES=${OBJECTDIR}/main.o.d ${OBJECTDIR}/onewire.o.d POSSIBLE_DEPFILES=${OBJECTDIR}/main.o.d ${OBJECTDIR}/onewire.o.d ${OBJECTDIR}/dstemperature.o.d
# Object Files # Object Files
OBJECTFILES=${OBJECTDIR}/main.o ${OBJECTDIR}/onewire.o OBJECTFILES=${OBJECTDIR}/main.o ${OBJECTDIR}/onewire.o ${OBJECTDIR}/dstemperature.o
# Source Files # Source Files
SOURCEFILES=main.c onewire.c SOURCEFILES=main.c onewire.c dstemperature.c
# Pack Options # Pack Options
PACK_COMPILER_OPTIONS=-I "${DFP_DIR}/include" PACK_COMPILER_OPTIONS=-I "${DFP_DIR}/include"
@ -122,6 +122,12 @@ ${OBJECTDIR}/onewire.o: onewire.c .generated_files/flags/default/f032a224192bd1
@${RM} ${OBJECTDIR}/onewire.o @${RM} ${OBJECTDIR}/onewire.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -g -DDEBUG -gdwarf-2 -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/onewire.o.d" -MT "${OBJECTDIR}/onewire.o.d" -MT ${OBJECTDIR}/onewire.o -o ${OBJECTDIR}/onewire.o onewire.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL ${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -g -DDEBUG -gdwarf-2 -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/onewire.o.d" -MT "${OBJECTDIR}/onewire.o.d" -MT ${OBJECTDIR}/onewire.o -o ${OBJECTDIR}/onewire.o onewire.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL
${OBJECTDIR}/dstemperature.o: dstemperature.c .generated_files/flags/default/80d105638d61b31dfb20a22d20c8ded4b921bb3f .generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/dstemperature.o.d
@${RM} ${OBJECTDIR}/dstemperature.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -g -DDEBUG -gdwarf-2 -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/dstemperature.o.d" -MT "${OBJECTDIR}/dstemperature.o.d" -MT ${OBJECTDIR}/dstemperature.o -o ${OBJECTDIR}/dstemperature.o dstemperature.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL
else else
${OBJECTDIR}/main.o: main.c .generated_files/flags/default/852a931b512b8c8a6143655dd7f5022a6cb025f5 .generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f ${OBJECTDIR}/main.o: main.c .generated_files/flags/default/852a931b512b8c8a6143655dd7f5022a6cb025f5 .generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f
@${MKDIR} "${OBJECTDIR}" @${MKDIR} "${OBJECTDIR}"
@ -135,6 +141,12 @@ ${OBJECTDIR}/onewire.o: onewire.c .generated_files/flags/default/5312daf68dcab5
@${RM} ${OBJECTDIR}/onewire.o @${RM} ${OBJECTDIR}/onewire.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/onewire.o.d" -MT "${OBJECTDIR}/onewire.o.d" -MT ${OBJECTDIR}/onewire.o -o ${OBJECTDIR}/onewire.o onewire.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL ${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/onewire.o.d" -MT "${OBJECTDIR}/onewire.o.d" -MT ${OBJECTDIR}/onewire.o -o ${OBJECTDIR}/onewire.o onewire.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL
${OBJECTDIR}/dstemperature.o: dstemperature.c .generated_files/flags/default/6842ec3b8e5e6b0b001addd084df5d184933bbe5 .generated_files/flags/default/12c67fe6cdcd6963bda122da91f9033805394b5f
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/dstemperature.o.d
@${RM} ${OBJECTDIR}/dstemperature.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mmcu=attiny45 ${PACK_COMPILER_OPTIONS} ${PACK_COMMON_OPTIONS} -x c -c -D__$(MP_PROCESSOR_OPTION)__ -funsigned-char -funsigned-bitfields -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -MD -MP -MF "${OBJECTDIR}/dstemperature.o.d" -MT "${OBJECTDIR}/dstemperature.o.d" -MT ${OBJECTDIR}/dstemperature.o -o ${OBJECTDIR}/dstemperature.o dstemperature.c -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -DF_CPU=8000000UL
endif endif
# ------------------------------------------------------------------------------------ # ------------------------------------------------------------------------------------

View File

@ -1,12 +1,12 @@
# #
#Tue Jul 11 13:27:22 MSK 2023 #Tue Jul 11 20:36:00 MSK 2023
default.languagetoolchain.version=7.3.0 default.languagetoolchain.version=7.3.0
default.Pack.dfplocation=/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151 default.Pack.dfplocation=/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151
default.com-microchip-mplab-nbide-toolchain-avr-AVRLanguageToolchain.md5=f7c8f2a9c7d7748a6cb97af5c32efadd default.com-microchip-mplab-nbide-toolchain-avr-AVRLanguageToolchain.md5=f7c8f2a9c7d7748a6cb97af5c32efadd
conf.ids=default conf.ids=default
default.languagetoolchain.dir=/opt/avr8-gnu-toolchain-linux_x86_64/bin default.languagetoolchain.dir=/opt/avr8-gnu-toolchain-linux_x86_64/bin
host.id=15hy-mk8g-4c host.id=15hy-mk8g-4c
configurations-xml=737ac09162ca74e2d83ec8c785f6d965 configurations-xml=2b0c7179faec1e60ead4f769c1eac108
default.com-microchip-mplab-mdbcore-snap-SnapToolImpl.md5=eaa336cefb7fc46db8b50b7b2b6e54ca default.com-microchip-mplab-mdbcore-snap-SnapToolImpl.md5=eaa336cefb7fc46db8b50b7b2b6e54ca
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b
user-defined-mime-resolver-xml=none user-defined-mime-resolver-xml=none

View File

@ -5,6 +5,7 @@
displayName="Header Files" displayName="Header Files"
projectFiles="true"> projectFiles="true">
<itemPath>onewire.h</itemPath> <itemPath>onewire.h</itemPath>
<itemPath>dstemperature.h</itemPath>
</logicalFolder> </logicalFolder>
<logicalFolder name="LinkerScript" <logicalFolder name="LinkerScript"
displayName="Linker Files" displayName="Linker Files"
@ -15,6 +16,7 @@
projectFiles="true"> projectFiles="true">
<itemPath>main.c</itemPath> <itemPath>main.c</itemPath>
<itemPath>onewire.c</itemPath> <itemPath>onewire.c</itemPath>
<itemPath>dstemperature.c</itemPath>
</logicalFolder> </logicalFolder>
<logicalFolder name="ExternalFiles" <logicalFolder name="ExternalFiles"
displayName="Important Files" displayName="Important Files"
@ -242,6 +244,8 @@
value="${memories.instruction.ram.ranges}"/> value="${memories.instruction.ram.ranges}"/>
<property key="memories.programmemory" value="true"/> <property key="memories.programmemory" value="true"/>
<property key="memories.programmemory.ranges" value="0-7ff"/> <property key="memories.programmemory.ranges" value="0-7ff"/>
<property key="programmerToGoFilePath"
value="/home/sergeyyarkov/Documents/Projects/Firmwares/AVR/attiny45v_thermometer.X/debug/default/attiny45v_thermometer_ptg"/>
<property key="programoptions.donoteraseauxmem" value="false"/> <property key="programoptions.donoteraseauxmem" value="false"/>
<property key="programoptions.eraseb4program" value="true"/> <property key="programoptions.eraseb4program" value="true"/>
<property key="programoptions.pgmentry.voltage" value="low"/> <property key="programoptions.pgmentry.voltage" value="low"/>

View File

@ -17,7 +17,7 @@ uint8_t OneWire_Presence(void) {
void OneWire_WriteByte(uint8_t byte) { void OneWire_WriteByte(uint8_t byte) {
uint8_t i = 8; uint8_t i = 8;
while (i--) { do {
cli(); cli();
if (byte & 0x01) { if (byte & 0x01) {
ow_pull(); ow_pull();
@ -32,14 +32,14 @@ void OneWire_WriteByte(uint8_t byte) {
} }
sei(); sei();
byte >>= 1; byte >>= 1;
} } while (--i);
} }
uint8_t OneWire_ReadByte() { uint8_t OneWire_ReadByte() {
uint8_t byte = 0; uint8_t byte = 0;
uint8_t i = 8; uint8_t i = 8;
while (i--) { do {
cli(); cli();
byte >>= 1; byte >>= 1;
ow_pull(); ow_pull();
@ -49,7 +49,7 @@ uint8_t OneWire_ReadByte() {
if (bit_is_set(OW_PIN, OW_LINE)) byte |= (1<<7); if (bit_is_set(OW_PIN, OW_LINE)) byte |= (1<<7);
_delay_us(55); _delay_us(55);
sei(); sei();
} } while (--i);
return byte; return byte;
} }
@ -63,30 +63,29 @@ uint8_t OneWire_SkipROM() {
uint8_t OneWire_ReadROM(uint8_t *buffer) { uint8_t OneWire_ReadROM(uint8_t *buffer) {
if (!OneWire_Presence()) return 0; if (!OneWire_Presence()) return 0;
uint8_t p = 0; uint8_t i = 8;
OneWire_WriteByte(ONE_WIRE_READROM); OneWire_WriteByte(ONE_WIRE_READROM);
while (p < 8) { do {
*(buffer++) = OneWire_ReadByte(); *(buffer++) = OneWire_ReadByte();
p++; } while (--i);
}
return 1; return 1;
} }
uint8_t OneWire_CRC8_Update(uint8_t *buffer, size_t len) { uint8_t OneWire_CRC8_Update(uint8_t *buffer, size_t len) {
uint8_t crc = 0, i = 0, j = 0; uint8_t crc = 0;
for (i = 0; i < len; i++) { do {
crc ^= buffer[i]; uint8_t i = 8;
for (j = 0; j < 8; j++) { crc ^= *(buffer++);
do {
if (crc & 0x01) { if (crc & 0x01) {
crc = (crc >> 1) ^ 0x8c; crc = (crc >> 1) ^ 0x8c;
} else { } else {
crc >>= 1; crc >>= 1;
} }
} } while (--i);
} } while (--len);
return crc; return crc;
} }

View File

@ -3,13 +3,13 @@
#include <avr/interrupt.h> #include <avr/interrupt.h>
#include <util/delay.h> #include <util/delay.h>
#define OW_LINE PB0 #define OW_LINE PB4
#define OW_PIN PINB #define OW_PIN PINB
#define OW_PORT PORTB #define OW_PORT PORTB
#define OW_DDR DDRB #define OW_DDR DDRB
#define ow_pull() (OW_DDR = _BV(OW_LINE)) #define ow_pull() (OW_DDR |= _BV(OW_LINE))
#define ow_release() (OW_DDR = !_BV(OW_LINE)) #define ow_release() (OW_DDR &= !_BV(OW_LINE))
#define ONE_WIRE_READROM 0x33 #define ONE_WIRE_READROM 0x33
#define ONE_WIRE_SKIPROM 0xcc #define ONE_WIRE_SKIPROM 0xcc