20131112-181020
This commit is contained in:
Binary file not shown.
@@ -6,28 +6,46 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "Led.h"
|
||||
|
||||
#include "Led.hpp"
|
||||
#include "uart.hpp"
|
||||
#include "Spi.hpp"
|
||||
#include "Output.h"
|
||||
#include "Can.h"
|
||||
#include "portc.hpp"
|
||||
#include "portb.hpp"
|
||||
|
||||
#include <util/delay.h>
|
||||
|
||||
Led l;
|
||||
//////////////////// LED //////////////////////////////////////////
|
||||
typedef Led<avrlib::portc, PINC2, PINC1, PINC0> ledclass;
|
||||
ledclass l;
|
||||
///////////////////////// UART ////////////////////////////////////
|
||||
typedef Uart<9600> uartclass;
|
||||
uartclass u;
|
||||
///////////////////////// SPI /////////////////////////////////////
|
||||
typedef Spi<avrlib::portb, PINB4, PINB6, PINB5, PINB7, 0, uartclass> spiclass;
|
||||
spiclass s;
|
||||
|
||||
Output o;
|
||||
Can c;
|
||||
|
||||
int main(void)
|
||||
{
|
||||
l.color(Led::YELLOW);
|
||||
l.color(l.YELLOW);
|
||||
u.send("Init done!\r\n");
|
||||
|
||||
CANMessage m;
|
||||
m.id = 0x0123;
|
||||
m.rtr = 0;
|
||||
m.length = 2;
|
||||
m.data[0] = 0xAF;
|
||||
m.data[1] = 0xFE;
|
||||
l.fade(Led::YELLOW, Led::RED, 10);
|
||||
l.fade(l.YELLOW, l.RED, 10);
|
||||
|
||||
while(1)
|
||||
{
|
||||
u.send("Stuff!\r\n");
|
||||
o.AudioOn();
|
||||
c.can_send_message(&m);
|
||||
_delay_ms(1);
|
||||
|
||||
@@ -27,14 +27,14 @@
|
||||
<BootSegment>0</BootSegment>
|
||||
<AsfFrameworkConfig>
|
||||
<framework-data xmlns="">
|
||||
<options />
|
||||
<configurations />
|
||||
<files />
|
||||
<documentation help="" />
|
||||
<dependencies>
|
||||
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.7.2" />
|
||||
</dependencies>
|
||||
</framework-data>
|
||||
<options />
|
||||
<configurations />
|
||||
<files />
|
||||
<documentation help="" />
|
||||
<dependencies>
|
||||
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.7.2" />
|
||||
</dependencies>
|
||||
</framework-data>
|
||||
</AsfFrameworkConfig>
|
||||
<avrtoolinterface>ISP</avrtoolinterface>
|
||||
<avrtool>com.atmel.avrdbg.tool.ispmk2</avrtool>
|
||||
@@ -77,80 +77,80 @@
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGccCpp>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level>
|
||||
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
|
||||
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.linker.libraries.Libraries>
|
||||
<avrgcccpp.linker.memorysettings.Comment><segmentname>=<address>, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
|
||||
</AvrGccCpp>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level>
|
||||
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
|
||||
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.linker.libraries.Libraries>
|
||||
<avrgcccpp.linker.memorysettings.Comment><segmentname>=<address>, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
|
||||
</AvrGccCpp>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGccCpp>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<avrgcccpp.compiler.optimization.level>Optimize (-O1)</avrgcccpp.compiler.optimization.level>
|
||||
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
|
||||
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
|
||||
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.linker.libraries.Libraries>
|
||||
<avrgcccpp.linker.memorysettings.Comment><segmentname>=<address>, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
|
||||
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
|
||||
</AvrGccCpp>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<avrgcccpp.compiler.optimization.level>Optimize (-O1)</avrgcccpp.compiler.optimization.level>
|
||||
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
|
||||
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
|
||||
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.linker.libraries.Libraries>
|
||||
<avrgcccpp.linker.memorysettings.Comment><segmentname>=<address>, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
|
||||
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
|
||||
</AvrGccCpp>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
@@ -166,10 +166,7 @@
|
||||
<Compile Include="config.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Led.cpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Led.h">
|
||||
<Compile Include="Led.hpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="mcp2515_defs.h">
|
||||
@@ -181,6 +178,21 @@
|
||||
<Compile Include="Output.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="pin.hpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="portb.hpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="portc.hpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Spi.hpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="uart.hpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
|
||||
</Project>
|
||||
@@ -1,4 +1,5 @@
|
||||
Button.d Button.o: .././Button.cpp .././config.h .././Led.h \
|
||||
Button.d Button.o: .././Button.cpp .././config.h .././Led.hpp \
|
||||
.././pin.hpp \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \
|
||||
@@ -10,15 +11,22 @@ Button.d Button.o: .././Button.cpp .././config.h .././Led.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \
|
||||
.././Output.h .././Can.h \
|
||||
.././uart.hpp \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h \
|
||||
.././Spi.hpp \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h \
|
||||
.././mcp2515_defs.h
|
||||
.././Output.h .././Can.h .././mcp2515_defs.h .././portc.hpp \
|
||||
.././portb.hpp
|
||||
|
||||
.././config.h:
|
||||
|
||||
.././Led.h:
|
||||
.././Led.hpp:
|
||||
|
||||
.././pin.hpp:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h:
|
||||
|
||||
@@ -42,9 +50,15 @@ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
|
||||
|
||||
.././Output.h:
|
||||
.././uart.hpp:
|
||||
|
||||
.././Can.h:
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h:
|
||||
|
||||
.././Spi.hpp:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h:
|
||||
|
||||
@@ -52,4 +66,12 @@ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h:
|
||||
|
||||
.././Output.h:
|
||||
|
||||
.././Can.h:
|
||||
|
||||
.././mcp2515_defs.h:
|
||||
|
||||
.././portc.hpp:
|
||||
|
||||
.././portb.hpp:
|
||||
|
||||
Binary file not shown.
+117
-87
@@ -1,88 +1,118 @@
|
||||
:100000000C942B000C9448000C9448000C9448006D
|
||||
:100010000C9448000C9448000C9448000C94480040
|
||||
:100020000C9448000C9448000C9448000C94480030
|
||||
:100030000C9448000C9448000C9448000C94480020
|
||||
:100040000C9448000C9448000C9448000C94480010
|
||||
:100050000C944800890011241FBECFE5D8E0DEBF14
|
||||
:10006000CDBF20E0A0E6B0E001C01D92A336B207EC
|
||||
:10007000E1F710E0C6E5D0E004C02297FE010E943F
|
||||
:10008000B102C435D107C9F70E944A000C94B502E9
|
||||
:100090000C940000CF93DF93CDB7DEB72C970FB64B
|
||||
:1000A000F894DEBF0FBECDBF66E082E690E00E940E
|
||||
:1000B000000283E291E09A8389831B8282E08C8331
|
||||
:1000C0008FEA8D838EEF8E832AE030E044E050E0AB
|
||||
:1000D00066E070E082E690E00E940B0281E690E02C
|
||||
:1000E0000E94AD02BE016F5F7F4F80E690E00E94EC
|
||||
:1000F0005D018FE99FE00197F1F700C0000081E604
|
||||
:1001000090E00E94AB0265E082E690E00E94690206
|
||||
:10011000E5CF82E690E00E94FD0181E690E00E943A
|
||||
:10012000A70280E690E00E944F01089587B3806A9D
|
||||
:1001300087BB88B38F7188BBBC9AC49A089580E549
|
||||
:100140008DB981E08EB908956FB9779BFECF8FB1DD
|
||||
:1001500008950F931F93CF93DF93EC01062F142F75
|
||||
:10016000C49862E00E94A400602FCE010E94A40007
|
||||
:10017000612FCE010E94A400C49ADF91CF911F91FC
|
||||
:100180000F910895FF920F931F93CF93DF93EC018C
|
||||
:10019000F62E042F122FC49865E00E94A4006F2D44
|
||||
:1001A000CE010E94A400602FCE010E94A400612F06
|
||||
:1001B000CE010E94A400C49ADF91CF911F910F91AC
|
||||
:1001C000FF900895CF93DF93EC01C49860EC0E94F8
|
||||
:1001D000A4008FE99FE00197F1F700C00000C49AE6
|
||||
:1001E0008FE39CE90197F1F700C0000047E06AE265
|
||||
:1001F000CE010E94A90040E969E2CE010E94A90057
|
||||
:1002000042E068E2CE010E94A90043E06BE2CE0129
|
||||
:100210000E94A90040E660E6CE010E94A90040E6E7
|
||||
:1002200060E7CE010E94A90040E060E2CE010E949A
|
||||
:10023000A90040E061E2CE010E94A90040E062E234
|
||||
:10024000CE010E94A90040E063E2CE010E94A90015
|
||||
:1002500040E064E2CE010E94A90040E065E2CE01E8
|
||||
:100260000E94A90040E066E2CE010E94A90040E0A1
|
||||
:1002700067E2CE010E94A90040E06CE0CE010E943E
|
||||
:10028000A90040E06DE0CE010E94A90020E040EE10
|
||||
:100290006FE0CE010E94C200DF91CF910895CF930D
|
||||
:1002A000DF93EC010E949600CE010E949F00CE01D8
|
||||
:1002B0000E94E200DF91CF910895AF92BF92CF925A
|
||||
:1002C000DF92EF92FF920F931F93CF93DF931F92D2
|
||||
:1002D000CDB7DEB78C016B01C49860EA0E94A40020
|
||||
:1002E0006FEFC8010E94A40089836FEFC8010E94CC
|
||||
:1002F000A400C49A898182FF0AC0898184FF09C051
|
||||
:10030000898186FD69C06894BB24B2F805C0B12C10
|
||||
:1003100003C06894BB24B1F8C4986B2D6064C80115
|
||||
:100320000E94A400F60180819181BC0176956795B9
|
||||
:100330007695679576956795C8010E94A400F601A9
|
||||
:1003400060816295660F607EC8010E94A40060E033
|
||||
:10035000C8010E94A40060E0C8010E94A400F60148
|
||||
:10036000A380F8E0FA1518F46894AA24A3F8F6011B
|
||||
:100370008281882331F06A2D6064C8010E94A40044
|
||||
:1003800019C06A2DC8010E94A400AA2099F0760124
|
||||
:10039000F4E0EF0EF11CAA948A2D90E00596C80EA9
|
||||
:1003A000D91EF70161917F01C8010E94A400EC14DD
|
||||
:1003B000FD04B9F7C49A0000C498B11005C061E803
|
||||
:1003C000C8010E94A40005C06B2D6068C8010E948E
|
||||
:1003D000A400C49A81E001C080E00F90DF91CF912A
|
||||
:1003E0001F910F91FF90EF90DF90CF90BF90AF9053
|
||||
:1003F000089584B3876084BB08950E94F90108952D
|
||||
:1004000085B3887F85BB85B3962F9370892B6470E5
|
||||
:10041000682B65BB08952F923F924F925F926F9227
|
||||
:100420007F928F929F92AF92BF92CF92DF92EF9284
|
||||
:10043000FF920F931F93CF93DF935C01862E942E30
|
||||
:10044000690100E010E0212C312C422C532C2AC0F1
|
||||
:10045000C62DD72D682DC5010E9400022196CF3FE1
|
||||
:10046000D105C1F71016110654F4C42DD52D692DF0
|
||||
:10047000C5010E9400022196C017D107C1F78FEF76
|
||||
:10048000E81AF80AEC14FD0421F407C07101602E8B
|
||||
:10049000712E0F3F1105E4F2E5CF0F5F1F4F0F3FA5
|
||||
:1004A000110521F01C141D048CF3F7CFDF91CF91BF
|
||||
:1004B0001F910F91FF90EF90DF90CF90BF90AF9082
|
||||
:1004C0009F908F907F906F905F904F903F902F9074
|
||||
:1004D00008951F93CF93DF93EC01162F262F30E062
|
||||
:1004E00046E050E064E070E00E940B02212F30E013
|
||||
:1004F00042E050E066E070E0CE010E940B02212F46
|
||||
:1005000030E043E050E062E070E0CE010E940B0278
|
||||
:10051000212F30E041E050E063E070E0CE010E9426
|
||||
:100520000B02212F30E045E050E061E070E0CE01A9
|
||||
:100530000E940B02212F30E044E050E065E070E0C3
|
||||
:10054000CE010E940B02DF91CF911F91089584B3D9
|
||||
:10055000806384BB0895AD980895AD9A0895EE0F19
|
||||
:0E056000FF1F0590F491E02D0994F894FFCF51
|
||||
:100000000C942B000C9453000C9453000C9453004C
|
||||
:100010000C9453000C9453000C9453000C94530014
|
||||
:100020000C9453000C9453000C9453000C94530004
|
||||
:100030000C9453000C9453000C9453000C945300F4
|
||||
:100040000C9453000C9453000C9453000C945300E4
|
||||
:100050000C945300FB0111241FBECFE5D8E0DEBF96
|
||||
:10006000CDBF10E0A0E6B0E0EAE1F7E002C0059005
|
||||
:100070000D92A438B107D9F720E0A4E8B0E001C0A0
|
||||
:100080001D92A938B207E1F710E0C6E5D0E004C040
|
||||
:100090002297FE010E948703C435D107C9F70E9449
|
||||
:1000A00055000C948B030C940000CF93DF93CDB7D5
|
||||
:1000B000DEB72C970FB6F894DEBF0FBECDBFA89861
|
||||
:1000C000A09AA99AA19AAA9AA29AEAE6F0E089E4EB
|
||||
:1000D0005D9BFECF8CB981918111FACF83E291E0D3
|
||||
:1000E0009A8389831B8282E08C838FEA8D838EEFD3
|
||||
:1000F0008E8340E050E0BAE060E070E023C08F2FD4
|
||||
:10010000A898A09AA99AA19AAA9AA29A8F5F8F3FBB
|
||||
:10011000B9F7121613060CF43FC10AC0A898A09AAA
|
||||
:10012000A998A19AAA9AA29A019682179307B4F362
|
||||
:10013000A15019F0EF3F19F72FC14F5F5F4F4F3FAD
|
||||
:10014000510561F0E42F9A01AB2FF42FF3CF5D9BA3
|
||||
:10015000FECF8CB931960DC0F5010BC0E0E6F0E0A2
|
||||
:10016000E12CF12C0F2EF5E0DF2EF02D00E010E059
|
||||
:100170005F0180818111EBCF85E890E00E948303CD
|
||||
:10018000BE016F5F7F4F84E890E00E94E1028FE93B
|
||||
:100190009FE00197F1F700C0000085E890E00E9421
|
||||
:1001A0008103A70123C0872FA898A09AA998A19A94
|
||||
:1001B000AA9AA29A8F5F8F3FB9F7121613060CF412
|
||||
:1001C000EDC00AC0A898A09AA99AA19AAA9AA29A40
|
||||
:1001D000019682179307B4F3E15019F06F3F19F7B6
|
||||
:1001E000DDC04F5F5F4F4F3F510549F1642F9A01CA
|
||||
:1001F000ED2D742FF3CF872FA898A09AA99AA19AD2
|
||||
:10020000AA9AA29A8F5F8F3FB9F7121613060CF4C1
|
||||
:10021000C7C00AC0A898A09AA99AA19AAA98A29A17
|
||||
:10022000019682179307B4F3E15019F06F3F19F765
|
||||
:10023000B7C04F5F5F4F4F3F510511F42AC0A70170
|
||||
:10024000642F9A01ED2D742FF1CF872FA898A09AD3
|
||||
:10025000A99AA19AAA98A29A8F5F8F3FB9F712160E
|
||||
:1002600013060CF49FC00AC0A89AA09AA99AA19A52
|
||||
:10027000AA98A29A019682179307B4F3E15019F055
|
||||
:100280006F3F19F78FC04F5F5F4F4F3F510511F41C
|
||||
:100290002AC0A701642F9A01ED2D742FF1CF872F6B
|
||||
:1002A000A89AA09AA99AA19AAA98A29A8F5F8F3F1A
|
||||
:1002B000B9F7121613060CF477C00AC0A89AA09AD0
|
||||
:1002C000A998A19AAA98A29A019682179307B4F3C3
|
||||
:1002D000E15019F06F3F19F767C04F5F5F4F4F3F15
|
||||
:1002E000510511F42AC0A701642F9A01ED2D742F36
|
||||
:1002F000F1CF872FA89AA09AA998A19AAA98A29A12
|
||||
:100300008F5F8F3FB9F7121613060CF44FC00AC067
|
||||
:10031000A89AA09AA998A19AAA9AA29A0196821735
|
||||
:100320009307B4F3E15019F06F3F19F73FC04F5FE7
|
||||
:100330005F4F4F3F510511F429C0A701642F9A0167
|
||||
:10034000ED2D742FF1CF872FA89AA09AA998A19A82
|
||||
:10035000AA9AA29A8F5F8F3FB9F71216130644F13B
|
||||
:100360000AC0A898A09AA998A19AAA9AA29A0196B6
|
||||
:1003700082179307B4F3E15019F06F3F21F718C0CB
|
||||
:100380004F5F5F4F4F3F510511F4E6CEA701642F39
|
||||
:100390009A01ED2D742FF1CFCB01C0CEC80112CF41
|
||||
:1003A000C80138CFC80160CFC80188CFC801B0CF1D
|
||||
:1003B000C801D7CF86E080BD88E08AB987E689B9D1
|
||||
:1003C000E7E7F0E085E55D9BFECF8CB98191811177
|
||||
:1003D000FACFBD9AC598BD9ABF9AC798BF9ABC9AE2
|
||||
:1003E000C49ABC9ABE98C698C698BE9A80E58DB944
|
||||
:1003F00081E08EB90895A29AA19AA09A86E080BD64
|
||||
:1004000088E08AB987E689B9E7E7F0E085E55D9B92
|
||||
:10041000FECF8CB981918111FACF86E890E00E94DD
|
||||
:10042000DA0185E890E00E947D0384E890E00E9474
|
||||
:10043000D302089587B3806A87BB88B38F7188BB66
|
||||
:10044000BC9AC49A089580E58DB981E08EB908956B
|
||||
:100450006FB9779BFECF8FB108950F931F93CF9302
|
||||
:10046000DF93EC01062F142FC49862E00E9428024B
|
||||
:10047000602FCE010E942802612FCE010E94280227
|
||||
:10048000C49ADF91CF911F910F910895FF920F931E
|
||||
:100490001F93CF93DF93EC01F62E042F122FC498F5
|
||||
:1004A00065E00E9428026F2DCE010E942802602F75
|
||||
:1004B000CE010E942802612FCE010E942802C49A18
|
||||
:1004C000DF91CF911F910F91FF900895CF93DF930C
|
||||
:1004D000EC01C49860EC0E9428028FE99FE001972C
|
||||
:1004E000F1F700C00000C49A8FE39CE90197F1F78F
|
||||
:1004F00000C0000047E06AE2CE010E942D0240E900
|
||||
:1005000069E2CE010E942D0242E068E2CE010E9423
|
||||
:100510002D0243E06BE2CE010E942D0240E660E630
|
||||
:10052000CE010E942D0240E660E7CE010E942D021E
|
||||
:1005300040E060E2CE010E942D0240E061E2CE0187
|
||||
:100540000E942D0240E062E2CE010E942D0240E0B6
|
||||
:1005500063E2CE010E942D0240E064E2CE010E94DF
|
||||
:100560002D0240E065E2CE010E942D0240E066E2ED
|
||||
:10057000CE010E942D0240E067E2CE010E942D02D2
|
||||
:1005800040E06CE0CE010E942D0240E06DE0CE0123
|
||||
:100590000E942D0220E040EE6FE0CE010E94460254
|
||||
:1005A000DF91CF910895CF93DF93EC010E941A025F
|
||||
:1005B000CE010E942302CE010E946602DF91CF91FC
|
||||
:1005C0000895AF92BF92CF92DF92EF92FF920F9376
|
||||
:1005D0001F93CF93DF931F92CDB7DEB78C016B01D2
|
||||
:1005E000C49860EA0E9428026FEFC8010E942802A6
|
||||
:1005F00089836FEFC8010E942802C49A898182FF13
|
||||
:100600000AC0898184FF09C0898186FD69C0689418
|
||||
:10061000BB24B2F805C0B12C03C06894BB24B1F868
|
||||
:10062000C4986B2D6064C8010E942802F601808185
|
||||
:100630009181BC01769567957695679576956795D6
|
||||
:10064000C8010E942802F60160816295660F607EF3
|
||||
:10065000C8010E94280260E0C8010E94280260E0F0
|
||||
:10066000C8010E942802F601A380F8E0FA1518F4E8
|
||||
:100670006894AA24A3F8F6018281882331F06A2DB8
|
||||
:100680006064C8010E94280219C06A2DC8010E9436
|
||||
:100690002802AA2099F07601F4E0EF0EF11CAA944A
|
||||
:1006A0008A2D90E00596C80ED91EF70161917F0151
|
||||
:1006B000C8010E942802EC14FD04B9F7C49A000096
|
||||
:1006C000C498B11005C061E8C8010E94280205C0A5
|
||||
:1006D0006B2D6068C8010E942802C49A81E001C0A5
|
||||
:1006E00080E00F90DF91CF911F910F91FF90EF90DD
|
||||
:1006F000DF90CF90BF90AF90089584B3806384BBA8
|
||||
:100700000895AD980895AD9A0895EE0FFF1F0590D6
|
||||
:0A071000F491E02D0994F894FFCF56
|
||||
:10071A005374756666210D0A00496E697420646F08
|
||||
:10072A006E65210D0A005561727420646F6E652131
|
||||
:04073A000D0A0000A4
|
||||
:00000001FF
|
||||
|
||||
+1805
-754
File diff suppressed because it is too large
Load Diff
+144
-149
@@ -2,6 +2,8 @@ Archive member included because of file (symbol)
|
||||
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o (exit)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
Button.o (__do_copy_data)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
|
||||
Button.o (__do_clear_bss)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o)
|
||||
@@ -12,6 +14,7 @@ c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-
|
||||
Discarded input sections
|
||||
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
|
||||
.group 0x00000000 0x8 Button.o
|
||||
.text 0x00000000 0x0 Button.o
|
||||
.text 0x00000000 0x0 Can.o
|
||||
.bss 0x00000000 0x0 Can.o
|
||||
@@ -21,10 +24,6 @@ Discarded input sections
|
||||
0x00000000 0x2e Can.o
|
||||
.text._ZN3Can15can_get_messageEP10CANMessage
|
||||
0x00000000 0x124 Can.o
|
||||
.text 0x00000000 0x0 Led.o
|
||||
.bss 0x00000000 0x0 Led.o
|
||||
.text._ZN3Led6uninitEv
|
||||
0x00000000 0x2 Led.o
|
||||
.text 0x00000000 0x0 Output.o
|
||||
.bss 0x00000000 0x0 Output.o
|
||||
.text._ZN6Output8MotorOffEv
|
||||
@@ -44,6 +43,19 @@ Discarded input sections
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.mul
|
||||
@@ -100,7 +112,6 @@ Linker script and memory map
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
|
||||
LOAD Button.o
|
||||
LOAD Can.o
|
||||
LOAD Led.o
|
||||
LOAD Output.o
|
||||
START GROUP
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libm.a
|
||||
@@ -201,7 +212,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
|
||||
.rela.plt
|
||||
*(.rela.plt)
|
||||
|
||||
.text 0x00000000 0x56e
|
||||
.text 0x00000000 0x71a
|
||||
*(.vectors)
|
||||
.vectors 0x00000000 0x54 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
|
||||
0x00000000 __vector_default
|
||||
@@ -240,110 +251,100 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
|
||||
*(.init3)
|
||||
*(.init3)
|
||||
*(.init4)
|
||||
.init4 0x00000062 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
|
||||
0x00000062 __do_clear_bss
|
||||
.init4 0x00000062 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
0x00000062 __do_copy_data
|
||||
.init4 0x00000078 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
|
||||
0x00000078 __do_clear_bss
|
||||
*(.init4)
|
||||
*(.init5)
|
||||
*(.init5)
|
||||
*(.init6)
|
||||
.init6 0x00000072 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o)
|
||||
0x00000072 __do_global_ctors
|
||||
.init6 0x00000088 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o)
|
||||
0x00000088 __do_global_ctors
|
||||
*(.init6)
|
||||
*(.init7)
|
||||
*(.init7)
|
||||
*(.init8)
|
||||
*(.init8)
|
||||
*(.init9)
|
||||
.init9 0x00000088 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
|
||||
.init9 0x0000009e 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
|
||||
*(.init9)
|
||||
*(.text)
|
||||
.text 0x00000090 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
|
||||
0x00000090 __vector_1
|
||||
0x00000090 __vector_12
|
||||
0x00000090 __bad_interrupt
|
||||
0x00000090 __vector_6
|
||||
0x00000090 __vector_3
|
||||
0x00000090 __vector_11
|
||||
0x00000090 __vector_13
|
||||
0x00000090 __vector_17
|
||||
0x00000090 __vector_19
|
||||
0x00000090 __vector_7
|
||||
0x00000090 __vector_5
|
||||
0x00000090 __vector_4
|
||||
0x00000090 __vector_9
|
||||
0x00000090 __vector_2
|
||||
0x00000090 __vector_15
|
||||
0x00000090 __vector_8
|
||||
0x00000090 __vector_14
|
||||
0x00000090 __vector_10
|
||||
0x00000090 __vector_16
|
||||
0x00000090 __vector_18
|
||||
0x00000090 __vector_20
|
||||
0x00000094 . = ALIGN (0x2)
|
||||
.text 0x000000a6 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
|
||||
0x000000a6 __vector_1
|
||||
0x000000a6 __vector_12
|
||||
0x000000a6 __bad_interrupt
|
||||
0x000000a6 __vector_6
|
||||
0x000000a6 __vector_3
|
||||
0x000000a6 __vector_11
|
||||
0x000000a6 __vector_13
|
||||
0x000000a6 __vector_17
|
||||
0x000000a6 __vector_19
|
||||
0x000000a6 __vector_7
|
||||
0x000000a6 __vector_5
|
||||
0x000000a6 __vector_4
|
||||
0x000000a6 __vector_9
|
||||
0x000000a6 __vector_2
|
||||
0x000000a6 __vector_15
|
||||
0x000000a6 __vector_8
|
||||
0x000000a6 __vector_14
|
||||
0x000000a6 __vector_10
|
||||
0x000000a6 __vector_16
|
||||
0x000000a6 __vector_18
|
||||
0x000000a6 __vector_20
|
||||
0x000000aa . = ALIGN (0x2)
|
||||
*(.text.*)
|
||||
.text.main 0x00000094 0x7e Button.o
|
||||
0x00000094 main
|
||||
.text.main 0x000000aa 0x30a Button.o
|
||||
0x000000aa main
|
||||
.text._ZN3SpiIN6avrlib5portbELi4ELi6ELi5ELi7ELi0E4UartILm9600EEEC2Ev
|
||||
0x000003b4 0x42 Button.o
|
||||
0x000003b4 _ZN3SpiIN6avrlib5portbELi4ELi6ELi5ELi7ELi0E4UartILm9600EEEC1Ev
|
||||
0x000003b4 _ZN3SpiIN6avrlib5portbELi4ELi6ELi5ELi7ELi0E4UartILm9600EEEC2Ev
|
||||
.text._GLOBAL__sub_I_l
|
||||
0x00000112 0x1a Button.o
|
||||
0x000003f6 0x3e Button.o
|
||||
.text._ZN3Can8init_pinEv
|
||||
0x0000012c 0x12 Can.o
|
||||
0x0000012c _ZN3Can8init_pinEv
|
||||
0x00000434 0x12 Can.o
|
||||
0x00000434 _ZN3Can8init_pinEv
|
||||
.text._ZN3Can8init_spiEv
|
||||
0x0000013e 0xa Can.o
|
||||
0x0000013e _ZN3Can8init_spiEv
|
||||
0x00000446 0xa Can.o
|
||||
0x00000446 _ZN3Can8init_spiEv
|
||||
.text._ZN3Can8spi_putcEh
|
||||
0x00000148 0xa Can.o
|
||||
0x00000148 _ZN3Can8spi_putcEh
|
||||
0x00000450 0xa Can.o
|
||||
0x00000450 _ZN3Can8spi_putcEh
|
||||
.text._ZN3Can22mcp2515_write_registerEhh
|
||||
0x00000152 0x32 Can.o
|
||||
0x00000152 _ZN3Can22mcp2515_write_registerEhh
|
||||
0x0000045a 0x32 Can.o
|
||||
0x0000045a _ZN3Can22mcp2515_write_registerEhh
|
||||
.text._ZN3Can18mcp2515_bit_modifyEhhh
|
||||
0x00000184 0x40 Can.o
|
||||
0x00000184 _ZN3Can18mcp2515_bit_modifyEhhh
|
||||
0x0000048c 0x40 Can.o
|
||||
0x0000048c _ZN3Can18mcp2515_bit_modifyEhhh
|
||||
.text._ZN3Can8init_canEv
|
||||
0x000001c4 0xda Can.o
|
||||
0x000001c4 _ZN3Can8init_canEv
|
||||
0x000004cc 0xda Can.o
|
||||
0x000004cc _ZN3Can8init_canEv
|
||||
.text._ZN3CanC2Ev
|
||||
0x0000029e 0x1c Can.o
|
||||
0x0000029e _ZN3CanC2Ev
|
||||
0x0000029e _ZN3CanC1Ev
|
||||
0x000005a6 0x1c Can.o
|
||||
0x000005a6 _ZN3CanC2Ev
|
||||
0x000005a6 _ZN3CanC1Ev
|
||||
.text._ZN3Can16can_send_messageEP10CANMessage
|
||||
0x000002ba 0x138 Can.o
|
||||
0x000002ba _ZN3Can16can_send_messageEP10CANMessage
|
||||
.text._ZN3Led4initEv
|
||||
0x000003f2 0x8 Led.o
|
||||
0x000003f2 _ZN3Led4initEv
|
||||
.text._ZN3LedC2Ev
|
||||
0x000003fa 0x6 Led.o
|
||||
0x000003fa _ZN3LedC1Ev
|
||||
0x000003fa _ZN3LedC2Ev
|
||||
.text._ZN3Led5colorEh
|
||||
0x00000400 0x16 Led.o
|
||||
0x00000400 _ZN3Led5colorEh
|
||||
.text._ZN3Led4fadeEiii
|
||||
0x00000416 0xbc Led.o
|
||||
0x00000416 _ZN3Led4fadeEiii
|
||||
.text._ZN3Led7rainbowEh
|
||||
0x000004d2 0x7c Led.o
|
||||
0x000004d2 _ZN3Led7rainbowEh
|
||||
0x000005c2 0x138 Can.o
|
||||
0x000005c2 _ZN3Can16can_send_messageEP10CANMessage
|
||||
.text._ZN6OutputC2Ev
|
||||
0x0000054e 0x8 Output.o
|
||||
0x0000054e _ZN6OutputC2Ev
|
||||
0x0000054e _ZN6OutputC1Ev
|
||||
0x000006fa 0x8 Output.o
|
||||
0x000006fa _ZN6OutputC2Ev
|
||||
0x000006fa _ZN6OutputC1Ev
|
||||
.text._ZN6Output8AudioOffEv
|
||||
0x00000556 0x4 Output.o
|
||||
0x00000556 _ZN6Output8AudioOffEv
|
||||
0x00000702 0x4 Output.o
|
||||
0x00000702 _ZN6Output8AudioOffEv
|
||||
.text._ZN6Output7AudioOnEv
|
||||
0x0000055a 0x4 Output.o
|
||||
0x0000055a _ZN6Output7AudioOnEv
|
||||
.text.libgcc 0x0000055e 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
|
||||
0x0000055e __tablejump2__
|
||||
0x00000562 __tablejump__
|
||||
0x0000056a . = ALIGN (0x2)
|
||||
0x00000706 0x4 Output.o
|
||||
0x00000706 _ZN6Output7AudioOnEv
|
||||
.text.libgcc 0x0000070a 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
|
||||
0x0000070a __tablejump2__
|
||||
0x0000070e __tablejump__
|
||||
0x00000716 . = ALIGN (0x2)
|
||||
*(.fini9)
|
||||
.fini9 0x0000056a 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
|
||||
0x0000056a _exit
|
||||
0x0000056a exit
|
||||
.fini9 0x00000716 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
|
||||
0x00000716 _exit
|
||||
0x00000716 exit
|
||||
*(.fini9)
|
||||
*(.fini8)
|
||||
*(.fini8)
|
||||
@@ -362,49 +363,54 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
|
||||
*(.fini1)
|
||||
*(.fini1)
|
||||
*(.fini0)
|
||||
.fini0 0x0000056a 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
|
||||
.fini0 0x00000716 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
|
||||
*(.fini0)
|
||||
0x0000056e _etext = .
|
||||
0x0000071a _etext = .
|
||||
|
||||
.data 0x00800060 0x0 load address 0x0000056e
|
||||
.data 0x00800060 0x24 load address 0x0000071a
|
||||
0x00800060 PROVIDE (__data_start, .)
|
||||
*(.data)
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm32a.o
|
||||
.data 0x00800060 0x0 Button.o
|
||||
.data 0x00800060 0x0 Can.o
|
||||
.data 0x00800060 0x0 Led.o
|
||||
.data 0x00800060 0x0 Output.o
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o)
|
||||
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
|
||||
*(.data*)
|
||||
*(.rodata)
|
||||
*(.rodata*)
|
||||
.rodata.str1.1
|
||||
0x00800060 0x23 Button.o
|
||||
*(.gnu.linkonce.d*)
|
||||
0x00800060 . = ALIGN (0x2)
|
||||
0x00800060 _edata = .
|
||||
0x00800060 PROVIDE (__data_end, .)
|
||||
0x00800084 . = ALIGN (0x2)
|
||||
*fill* 0x00800083 0x1
|
||||
0x00800084 _edata = .
|
||||
0x00800084 PROVIDE (__data_end, .)
|
||||
|
||||
.bss 0x00800060 0x3
|
||||
0x00800060 PROVIDE (__bss_start, .)
|
||||
.bss 0x00800084 0x5
|
||||
0x00800084 PROVIDE (__bss_start, .)
|
||||
*(.bss)
|
||||
.bss 0x00800060 0x3 Button.o
|
||||
0x00800060 c
|
||||
0x00800061 o
|
||||
0x00800062 l
|
||||
.bss 0x00800084 0x5 Button.o
|
||||
0x00800084 c
|
||||
0x00800085 o
|
||||
0x00800086 s
|
||||
0x00800087 u
|
||||
0x00800088 l
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
0x00800063 PROVIDE (__bss_end, .)
|
||||
0x0000056e __data_load_start = LOADADDR (.data)
|
||||
0x0000056e __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||
0x00800089 PROVIDE (__bss_end, .)
|
||||
0x0000071a __data_load_start = LOADADDR (.data)
|
||||
0x0000073e __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||
|
||||
.noinit 0x00800063 0x0
|
||||
0x00800063 PROVIDE (__noinit_start, .)
|
||||
.noinit 0x00800089 0x0
|
||||
0x00800089 PROVIDE (__noinit_start, .)
|
||||
*(.noinit*)
|
||||
0x00800063 PROVIDE (__noinit_end, .)
|
||||
0x00800063 _end = .
|
||||
0x00800063 PROVIDE (__heap_start, .)
|
||||
0x00800089 PROVIDE (__noinit_end, .)
|
||||
0x00800089 _end = .
|
||||
0x00800089 PROVIDE (__heap_start, .)
|
||||
|
||||
.eeprom 0x00810000 0x0
|
||||
*(.eeprom*)
|
||||
@@ -450,7 +456,6 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
|
||||
.comment 0x00000000 0x2f Button.o
|
||||
0x30 (size before relaxing)
|
||||
.comment 0x00000000 0x30 Can.o
|
||||
.comment 0x00000000 0x30 Led.o
|
||||
.comment 0x00000000 0x30 Output.o
|
||||
|
||||
.debug
|
||||
@@ -465,66 +470,57 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
|
||||
.debug_sfnames
|
||||
*(.debug_sfnames)
|
||||
|
||||
.debug_aranges 0x00000000 0x120
|
||||
.debug_aranges 0x00000000 0xe0
|
||||
*(.debug_aranges)
|
||||
.debug_aranges
|
||||
0x00000000 0x28 Button.o
|
||||
0x00000000 0x30 Button.o
|
||||
.debug_aranges
|
||||
0x00000028 0x70 Can.o
|
||||
0x00000030 0x70 Can.o
|
||||
.debug_aranges
|
||||
0x00000098 0x48 Led.o
|
||||
.debug_aranges
|
||||
0x000000e0 0x40 Output.o
|
||||
0x000000a0 0x40 Output.o
|
||||
|
||||
.debug_pubnames
|
||||
*(.debug_pubnames)
|
||||
|
||||
.debug_info 0x00000000 0x1b32
|
||||
.debug_info 0x00000000 0x40d0
|
||||
*(.debug_info)
|
||||
.debug_info 0x00000000 0x6b5 Button.o
|
||||
.debug_info 0x000006b5 0xdae Can.o
|
||||
.debug_info 0x00001463 0x4db Led.o
|
||||
.debug_info 0x0000193e 0x1f4 Output.o
|
||||
.debug_info 0x00000000 0x312e Button.o
|
||||
.debug_info 0x0000312e 0xdae Can.o
|
||||
.debug_info 0x00003edc 0x1f4 Output.o
|
||||
*(.gnu.linkonce.wi.*)
|
||||
|
||||
.debug_abbrev 0x00000000 0x8d3
|
||||
.debug_abbrev 0x00000000 0x841
|
||||
*(.debug_abbrev)
|
||||
.debug_abbrev 0x00000000 0x2d0 Button.o
|
||||
.debug_abbrev 0x000002d0 0x2fa Can.o
|
||||
.debug_abbrev 0x000005ca 0x1eb Led.o
|
||||
.debug_abbrev 0x000007b5 0x11e Output.o
|
||||
.debug_abbrev 0x00000000 0x429 Button.o
|
||||
.debug_abbrev 0x00000429 0x2fa Can.o
|
||||
.debug_abbrev 0x00000723 0x11e Output.o
|
||||
|
||||
.debug_line 0x00000000 0x686
|
||||
.debug_line 0x00000000 0x723
|
||||
*(.debug_line)
|
||||
.debug_line 0x00000000 0x1ca Button.o
|
||||
.debug_line 0x000001ca 0x2ce Can.o
|
||||
.debug_line 0x00000498 0x165 Led.o
|
||||
.debug_line 0x000005fd 0x89 Output.o
|
||||
.debug_line 0x00000000 0x3cc Button.o
|
||||
.debug_line 0x000003cc 0x2ce Can.o
|
||||
.debug_line 0x0000069a 0x89 Output.o
|
||||
|
||||
.debug_frame 0x00000000 0x324
|
||||
.debug_frame 0x00000000 0x254
|
||||
*(.debug_frame)
|
||||
.debug_frame 0x00000000 0x44 Button.o
|
||||
.debug_frame 0x00000044 0x19c Can.o
|
||||
.debug_frame 0x000001e0 0xe0 Led.o
|
||||
.debug_frame 0x000002c0 0x64 Output.o
|
||||
.debug_frame 0x00000000 0x54 Button.o
|
||||
.debug_frame 0x00000054 0x19c Can.o
|
||||
.debug_frame 0x000001f0 0x64 Output.o
|
||||
|
||||
.debug_str 0x00000000 0x4ae
|
||||
.debug_str 0x00000000 0x10df
|
||||
*(.debug_str)
|
||||
.debug_str 0x00000000 0x430 Button.o
|
||||
0x481 (size before relaxing)
|
||||
.debug_str 0x00000430 0x3c Can.o
|
||||
.debug_str 0x00000000 0x108e Button.o
|
||||
0x10f0 (size before relaxing)
|
||||
.debug_str 0x0000108e 0x32 Can.o
|
||||
0x33e (size before relaxing)
|
||||
.debug_str 0x0000046c 0x23 Led.o
|
||||
0x17f (size before relaxing)
|
||||
.debug_str 0x0000048f 0x1f Output.o
|
||||
.debug_str 0x000010c0 0x1f Output.o
|
||||
0x150 (size before relaxing)
|
||||
|
||||
.debug_loc 0x00000000 0xb79
|
||||
.debug_loc 0x00000000 0xf51
|
||||
*(.debug_loc)
|
||||
.debug_loc 0x00000000 0x47 Button.o
|
||||
.debug_loc 0x00000047 0x721 Can.o
|
||||
.debug_loc 0x00000768 0x3eb Led.o
|
||||
.debug_loc 0x00000b53 0x26 Output.o
|
||||
.debug_loc 0x00000000 0x80a Button.o
|
||||
.debug_loc 0x0000080a 0x721 Can.o
|
||||
.debug_loc 0x00000f2b 0x26 Output.o
|
||||
|
||||
.debug_macinfo
|
||||
*(.debug_macinfo)
|
||||
@@ -532,12 +528,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
|
||||
.debug_pubtypes
|
||||
*(.debug_pubtypes)
|
||||
|
||||
.debug_ranges 0x00000000 0x128
|
||||
.debug_ranges 0x00000000 0x5e0
|
||||
*(.debug_ranges)
|
||||
.debug_ranges 0x00000000 0x18 Button.o
|
||||
.debug_ranges 0x00000018 0x60 Can.o
|
||||
.debug_ranges 0x00000078 0x80 Led.o
|
||||
.debug_ranges 0x000000f8 0x30 Output.o
|
||||
.debug_ranges 0x00000000 0x550 Button.o
|
||||
.debug_ranges 0x00000550 0x60 Can.o
|
||||
.debug_ranges 0x000005b0 0x30 Output.o
|
||||
|
||||
.debug_macro
|
||||
*(.debug_macro)
|
||||
|
||||
+117
-87
@@ -1,89 +1,119 @@
|
||||
S00E0000427574746F6E2E737265639A
|
||||
S11300000C942B000C9448000C9448000C94480069
|
||||
S11300100C9448000C9448000C9448000C9448003C
|
||||
S11300200C9448000C9448000C9448000C9448002C
|
||||
S11300300C9448000C9448000C9448000C9448001C
|
||||
S11300400C9448000C9448000C9448000C9448000C
|
||||
S11300500C944800890011241FBECFE5D8E0DEBF10
|
||||
S1130060CDBF20E0A0E6B0E001C01D92A336B207E8
|
||||
S1130070E1F710E0C6E5D0E004C02297FE010E943B
|
||||
S1130080B102C435D107C9F70E944A000C94B502E5
|
||||
S11300900C940000CF93DF93CDB7DEB72C970FB647
|
||||
S11300A0F894DEBF0FBECDBF66E082E690E00E940A
|
||||
S11300B0000283E291E09A8389831B8282E08C832D
|
||||
S11300C08FEA8D838EEF8E832AE030E044E050E0A7
|
||||
S11300D066E070E082E690E00E940B0281E690E028
|
||||
S11300E00E94AD02BE016F5F7F4F80E690E00E94E8
|
||||
S11300F05D018FE99FE00197F1F700C0000081E600
|
||||
S113010090E00E94AB0265E082E690E00E94690202
|
||||
S1130110E5CF82E690E00E94FD0181E690E00E9436
|
||||
S1130120A70280E690E00E944F01089587B3806A99
|
||||
S113013087BB88B38F7188BBBC9AC49A089580E545
|
||||
S11301408DB981E08EB908956FB9779BFECF8FB1D9
|
||||
S113015008950F931F93CF93DF93EC01062F142F71
|
||||
S1130160C49862E00E94A400602FCE010E94A40003
|
||||
S1130170612FCE010E94A400C49ADF91CF911F91F8
|
||||
S11301800F910895FF920F931F93CF93DF93EC0188
|
||||
S1130190F62E042F122FC49865E00E94A4006F2D40
|
||||
S11301A0CE010E94A400602FCE010E94A400612F02
|
||||
S11301B0CE010E94A400C49ADF91CF911F910F91A8
|
||||
S11301C0FF900895CF93DF93EC01C49860EC0E94F4
|
||||
S11301D0A4008FE99FE00197F1F700C00000C49AE2
|
||||
S11301E08FE39CE90197F1F700C0000047E06AE261
|
||||
S11301F0CE010E94A90040E969E2CE010E94A90053
|
||||
S113020042E068E2CE010E94A90043E06BE2CE0125
|
||||
S11302100E94A90040E660E6CE010E94A90040E6E3
|
||||
S113022060E7CE010E94A90040E060E2CE010E9496
|
||||
S1130230A90040E061E2CE010E94A90040E062E230
|
||||
S1130240CE010E94A90040E063E2CE010E94A90011
|
||||
S113025040E064E2CE010E94A90040E065E2CE01E4
|
||||
S11302600E94A90040E066E2CE010E94A90040E09D
|
||||
S113027067E2CE010E94A90040E06CE0CE010E943A
|
||||
S1130280A90040E06DE0CE010E94A90020E040EE0C
|
||||
S11302906FE0CE010E94C200DF91CF910895CF9309
|
||||
S11302A0DF93EC010E949600CE010E949F00CE01D4
|
||||
S11302B00E94E200DF91CF910895AF92BF92CF9256
|
||||
S11302C0DF92EF92FF920F931F93CF93DF931F92CE
|
||||
S11302D0CDB7DEB78C016B01C49860EA0E94A4001C
|
||||
S11302E06FEFC8010E94A40089836FEFC8010E94C8
|
||||
S11302F0A400C49A898182FF0AC0898184FF09C04D
|
||||
S1130300898186FD69C06894BB24B2F805C0B12C0C
|
||||
S113031003C06894BB24B1F8C4986B2D6064C80111
|
||||
S11303200E94A400F60180819181BC0176956795B5
|
||||
S11303307695679576956795C8010E94A400F601A5
|
||||
S113034060816295660F607EC8010E94A40060E02F
|
||||
S1130350C8010E94A40060E0C8010E94A400F60144
|
||||
S1130360A380F8E0FA1518F46894AA24A3F8F60117
|
||||
S11303708281882331F06A2D6064C8010E94A40040
|
||||
S113038019C06A2DC8010E94A400AA2099F0760120
|
||||
S1130390F4E0EF0EF11CAA948A2D90E00596C80EA5
|
||||
S11303A0D91EF70161917F01C8010E94A400EC14D9
|
||||
S11303B0FD04B9F7C49A0000C498B11005C061E8FF
|
||||
S11303C0C8010E94A40005C06B2D6068C8010E948A
|
||||
S11303D0A400C49A81E001C080E00F90DF91CF9126
|
||||
S11303E01F910F91FF90EF90DF90CF90BF90AF904F
|
||||
S11303F0089584B3876084BB08950E94F901089529
|
||||
S113040085B3887F85BB85B3962F9370892B6470E1
|
||||
S1130410682B65BB08952F923F924F925F926F9223
|
||||
S11304207F928F929F92AF92BF92CF92DF92EF9280
|
||||
S1130430FF920F931F93CF93DF935C01862E942E2C
|
||||
S1130440690100E010E0212C312C422C532C2AC0ED
|
||||
S1130450C62DD72D682DC5010E9400022196CF3FDD
|
||||
S1130460D105C1F71016110654F4C42DD52D692DEC
|
||||
S1130470C5010E9400022196C017D107C1F78FEF72
|
||||
S1130480E81AF80AEC14FD0421F407C07101602E87
|
||||
S1130490712E0F3F1105E4F2E5CF0F5F1F4F0F3FA1
|
||||
S11304A0110521F01C141D048CF3F7CFDF91CF91BB
|
||||
S11304B01F910F91FF90EF90DF90CF90BF90AF907E
|
||||
S11304C09F908F907F906F905F904F903F902F9070
|
||||
S11304D008951F93CF93DF93EC01162F262F30E05E
|
||||
S11304E046E050E064E070E00E940B02212F30E00F
|
||||
S11304F042E050E066E070E0CE010E940B02212F42
|
||||
S113050030E043E050E062E070E0CE010E940B0274
|
||||
S1130510212F30E041E050E063E070E0CE010E9422
|
||||
S11305200B02212F30E045E050E061E070E0CE01A5
|
||||
S11305300E940B02212F30E044E050E065E070E0BF
|
||||
S1130540CE010E940B02DF91CF911F91089584B3D5
|
||||
S1130550806384BB0895AD980895AD9A0895EE0F15
|
||||
S1110560FF1F0590F491E02D0994F894FFCF4D
|
||||
S11300000C942B000C9453000C9453000C94530048
|
||||
S11300100C9453000C9453000C9453000C94530010
|
||||
S11300200C9453000C9453000C9453000C94530000
|
||||
S11300300C9453000C9453000C9453000C945300F0
|
||||
S11300400C9453000C9453000C9453000C945300E0
|
||||
S11300500C945300FB0111241FBECFE5D8E0DEBF92
|
||||
S1130060CDBF10E0A0E6B0E0EAE1F7E002C0059001
|
||||
S11300700D92A438B107D9F720E0A4E8B0E001C09C
|
||||
S11300801D92A938B207E1F710E0C6E5D0E004C03C
|
||||
S11300902297FE010E948703C435D107C9F70E9445
|
||||
S11300A055000C948B030C940000CF93DF93CDB7D1
|
||||
S11300B0DEB72C970FB6F894DEBF0FBECDBFA8985D
|
||||
S11300C0A09AA99AA19AAA9AA29AEAE6F0E089E4E7
|
||||
S11300D05D9BFECF8CB981918111FACF83E291E0CF
|
||||
S11300E09A8389831B8282E08C838FEA8D838EEFCF
|
||||
S11300F08E8340E050E0BAE060E070E023C08F2FD0
|
||||
S1130100A898A09AA99AA19AAA9AA29A8F5F8F3FB7
|
||||
S1130110B9F7121613060CF43FC10AC0A898A09AA6
|
||||
S1130120A998A19AAA9AA29A019682179307B4F35E
|
||||
S1130130A15019F0EF3F19F72FC14F5F5F4F4F3FA9
|
||||
S1130140510561F0E42F9A01AB2FF42FF3CF5D9B9F
|
||||
S1130150FECF8CB931960DC0F5010BC0E0E6F0E09E
|
||||
S1130160E12CF12C0F2EF5E0DF2EF02D00E010E055
|
||||
S11301705F0180818111EBCF85E890E00E948303C9
|
||||
S1130180BE016F5F7F4F84E890E00E94E1028FE937
|
||||
S11301909FE00197F1F700C0000085E890E00E941D
|
||||
S11301A08103A70123C0872FA898A09AA998A19A90
|
||||
S11301B0AA9AA29A8F5F8F3FB9F7121613060CF40E
|
||||
S11301C0EDC00AC0A898A09AA99AA19AAA9AA29A3C
|
||||
S11301D0019682179307B4F3E15019F06F3F19F7B2
|
||||
S11301E0DDC04F5F5F4F4F3F510549F1642F9A01C6
|
||||
S11301F0ED2D742FF3CF872FA898A09AA99AA19ACE
|
||||
S1130200AA9AA29A8F5F8F3FB9F7121613060CF4BD
|
||||
S1130210C7C00AC0A898A09AA99AA19AAA98A29A13
|
||||
S1130220019682179307B4F3E15019F06F3F19F761
|
||||
S1130230B7C04F5F5F4F4F3F510511F42AC0A7016C
|
||||
S1130240642F9A01ED2D742FF1CF872FA898A09ACF
|
||||
S1130250A99AA19AAA98A29A8F5F8F3FB9F712160A
|
||||
S113026013060CF49FC00AC0A89AA09AA99AA19A4E
|
||||
S1130270AA98A29A019682179307B4F3E15019F051
|
||||
S11302806F3F19F78FC04F5F5F4F4F3F510511F418
|
||||
S11302902AC0A701642F9A01ED2D742FF1CF872F67
|
||||
S11302A0A89AA09AA99AA19AAA98A29A8F5F8F3F16
|
||||
S11302B0B9F7121613060CF477C00AC0A89AA09ACC
|
||||
S11302C0A998A19AAA98A29A019682179307B4F3BF
|
||||
S11302D0E15019F06F3F19F767C04F5F5F4F4F3F11
|
||||
S11302E0510511F42AC0A701642F9A01ED2D742F32
|
||||
S11302F0F1CF872FA89AA09AA998A19AAA98A29A0E
|
||||
S11303008F5F8F3FB9F7121613060CF44FC00AC063
|
||||
S1130310A89AA09AA998A19AAA9AA29A0196821731
|
||||
S11303209307B4F3E15019F06F3F19F73FC04F5FE3
|
||||
S11303305F4F4F3F510511F429C0A701642F9A0163
|
||||
S1130340ED2D742FF1CF872FA89AA09AA998A19A7E
|
||||
S1130350AA9AA29A8F5F8F3FB9F71216130644F137
|
||||
S11303600AC0A898A09AA998A19AAA9AA29A0196B2
|
||||
S113037082179307B4F3E15019F06F3F21F718C0C7
|
||||
S11303804F5F5F4F4F3F510511F4E6CEA701642F35
|
||||
S11303909A01ED2D742FF1CFCB01C0CEC80112CF3D
|
||||
S11303A0C80138CFC80160CFC80188CFC801B0CF19
|
||||
S11303B0C801D7CF86E080BD88E08AB987E689B9CD
|
||||
S11303C0E7E7F0E085E55D9BFECF8CB98191811173
|
||||
S11303D0FACFBD9AC598BD9ABF9AC798BF9ABC9ADE
|
||||
S11303E0C49ABC9ABE98C698C698BE9A80E58DB940
|
||||
S11303F081E08EB90895A29AA19AA09A86E080BD60
|
||||
S113040088E08AB987E689B9E7E7F0E085E55D9B8E
|
||||
S1130410FECF8CB981918111FACF86E890E00E94D9
|
||||
S1130420DA0185E890E00E947D0384E890E00E9470
|
||||
S1130430D302089587B3806A87BB88B38F7188BB62
|
||||
S1130440BC9AC49A089580E58DB981E08EB9089567
|
||||
S11304506FB9779BFECF8FB108950F931F93CF93FE
|
||||
S1130460DF93EC01062F142FC49862E00E94280247
|
||||
S1130470602FCE010E942802612FCE010E94280223
|
||||
S1130480C49ADF91CF911F910F910895FF920F931A
|
||||
S11304901F93CF93DF93EC01F62E042F122FC498F1
|
||||
S11304A065E00E9428026F2DCE010E942802602F71
|
||||
S11304B0CE010E942802612FCE010E942802C49A14
|
||||
S11304C0DF91CF911F910F91FF900895CF93DF9308
|
||||
S11304D0EC01C49860EC0E9428028FE99FE0019728
|
||||
S11304E0F1F700C00000C49A8FE39CE90197F1F78B
|
||||
S11304F000C0000047E06AE2CE010E942D0240E9FC
|
||||
S113050069E2CE010E942D0242E068E2CE010E941F
|
||||
S11305102D0243E06BE2CE010E942D0240E660E62C
|
||||
S1130520CE010E942D0240E660E7CE010E942D021A
|
||||
S113053040E060E2CE010E942D0240E061E2CE0183
|
||||
S11305400E942D0240E062E2CE010E942D0240E0B2
|
||||
S113055063E2CE010E942D0240E064E2CE010E94DB
|
||||
S11305602D0240E065E2CE010E942D0240E066E2E9
|
||||
S1130570CE010E942D0240E067E2CE010E942D02CE
|
||||
S113058040E06CE0CE010E942D0240E06DE0CE011F
|
||||
S11305900E942D0220E040EE6FE0CE010E94460250
|
||||
S11305A0DF91CF910895CF93DF93EC010E941A025B
|
||||
S11305B0CE010E942302CE010E946602DF91CF91F8
|
||||
S11305C00895AF92BF92CF92DF92EF92FF920F9372
|
||||
S11305D01F93CF93DF931F92CDB7DEB78C016B01CE
|
||||
S11305E0C49860EA0E9428026FEFC8010E942802A2
|
||||
S11305F089836FEFC8010E942802C49A898182FF0F
|
||||
S11306000AC0898184FF09C0898186FD69C0689414
|
||||
S1130610BB24B2F805C0B12C03C06894BB24B1F864
|
||||
S1130620C4986B2D6064C8010E942802F601808181
|
||||
S11306309181BC01769567957695679576956795D2
|
||||
S1130640C8010E942802F60160816295660F607EEF
|
||||
S1130650C8010E94280260E0C8010E94280260E0EC
|
||||
S1130660C8010E942802F601A380F8E0FA1518F4E4
|
||||
S11306706894AA24A3F8F6018281882331F06A2DB4
|
||||
S11306806064C8010E94280219C06A2DC8010E9432
|
||||
S11306902802AA2099F07601F4E0EF0EF11CAA9446
|
||||
S11306A08A2D90E00596C80ED91EF70161917F014D
|
||||
S11306B0C8010E942802EC14FD04B9F7C49A000092
|
||||
S11306C0C498B11005C061E8C8010E94280205C0A1
|
||||
S11306D06B2D6068C8010E942802C49A81E001C0A1
|
||||
S11306E080E00F90DF91CF911F910F91FF90EF90D9
|
||||
S11306F0DF90CF90BF90AF90089584B3806384BBA4
|
||||
S11307000895AD980895AD9A0895EE0FFF1F0590D2
|
||||
S10D0710F491E02D0994F894FFCF52
|
||||
S113071A5374756666210D0A00496E697420646F04
|
||||
S113072A6E65210D0A005561727420646F6E65212D
|
||||
S107073A0D0A0000A0
|
||||
S9030000FC
|
||||
|
||||
@@ -38,7 +38,6 @@ SUBDIRS :=
|
||||
C_SRCS += \
|
||||
../Button.cpp \
|
||||
../Can.cpp \
|
||||
../Led.cpp \
|
||||
../Output.cpp
|
||||
|
||||
|
||||
@@ -51,28 +50,24 @@ ASM_SRCS +=
|
||||
OBJS += \
|
||||
Button.o \
|
||||
Can.o \
|
||||
Led.o \
|
||||
Output.o
|
||||
|
||||
|
||||
OBJS_AS_ARGS += \
|
||||
Button.o \
|
||||
Can.o \
|
||||
Led.o \
|
||||
Output.o
|
||||
|
||||
|
||||
C_DEPS += \
|
||||
Button.d \
|
||||
Can.d \
|
||||
Led.d \
|
||||
Output.d
|
||||
|
||||
|
||||
C_DEPS_AS_ARGS += \
|
||||
Button.d \
|
||||
Can.d \
|
||||
Led.d \
|
||||
Output.d
|
||||
|
||||
|
||||
@@ -94,8 +89,6 @@ LIB_DEP+=
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
./%.o: .././%.cpp
|
||||
@echo Building file: $<
|
||||
@echo Invoking: AVR8/GNU C++ Compiler :
|
||||
|
||||
@@ -6,7 +6,5 @@ Button.cpp
|
||||
|
||||
Can.cpp
|
||||
|
||||
Led.cpp
|
||||
|
||||
Output.cpp
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Led.h
|
||||
*
|
||||
* Created: 03.11.2013 17:11:58
|
||||
* Author: BlubbFish
|
||||
*/
|
||||
|
||||
#ifndef LED_H_
|
||||
#define LED_H_
|
||||
|
||||
#include "pin.hpp"
|
||||
|
||||
template <typename Port, int pin_red, int pin_green, int pin_blue>
|
||||
class Led {
|
||||
public:
|
||||
Led() {
|
||||
init();
|
||||
}
|
||||
void color(uint8_t mask) {
|
||||
(mask & (1<<0)) ? blue::make_high() : blue::make_low();
|
||||
(mask & (1<<1)) ? green::make_high() : green::make_low();
|
||||
(mask & (1<<2)) ? red::make_high() : red::make_low();
|
||||
}
|
||||
void rainbow(uint8_t time) {
|
||||
fade(RED, YELLOW, time);
|
||||
fade(YELLOW, GREEN, time);
|
||||
fade(GREEN, CYAN, time);
|
||||
fade(CYAN, BLUE, time);
|
||||
fade(BLUE, MAGENTA, time);
|
||||
fade(MAGENTA, RED, time);
|
||||
}
|
||||
void fade(uint8_t from, uint8_t to, uint8_t dur) {
|
||||
for (uint8_t i=0;i<0xFF;i++) {
|
||||
for(uint8_t k=0;k<dur;k++) {
|
||||
for (uint8_t j=i;j<0xFF;j++) {
|
||||
color(from);
|
||||
}
|
||||
for (int j=0;j<i;j++) {
|
||||
color(to);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
static const uint8_t BLACK = 0;
|
||||
static const uint8_t BLUE = 1;
|
||||
static const uint8_t GREEN = 2;
|
||||
static const uint8_t CYAN = 3;
|
||||
static const uint8_t RED = 4;
|
||||
static const uint8_t MAGENTA = 5;
|
||||
static const uint8_t YELLOW = 6;
|
||||
static const uint8_t WHITE = 7;
|
||||
private:
|
||||
void init() {
|
||||
red::make_output();
|
||||
green::make_output();
|
||||
blue::make_output();
|
||||
}
|
||||
void uninit();
|
||||
const typedef avrlib::pin<Port, pin_red> red;
|
||||
const typedef avrlib::pin<Port, pin_green> green;
|
||||
const typedef avrlib::pin<Port, pin_blue> blue;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /* LED_H_ */
|
||||
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Spi.h
|
||||
*
|
||||
* Created: 06.11.2013 15:41:34
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
|
||||
#ifndef SPI_H_
|
||||
#define SPI_H_
|
||||
|
||||
#include "config.h"
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include "pin.hpp"
|
||||
|
||||
template <typename Port, int cspin, int misopin, int mosipin, int sckpin, int mode, typename uart>
|
||||
class Spi {
|
||||
public:
|
||||
Spi() {
|
||||
init();
|
||||
}
|
||||
void CSOn() {
|
||||
cs::make_low();
|
||||
}
|
||||
void CSOff() {
|
||||
cs::make_high();
|
||||
}
|
||||
uint8_t send(uint8_t data) {
|
||||
char t[50];
|
||||
sprintf(t, "-> 0x%02x", data);
|
||||
u.send(t);
|
||||
uint8_t r;
|
||||
if(mode == 0) {
|
||||
r = send_hard(data);
|
||||
}
|
||||
r = send_soft(data);
|
||||
sprintf(t, " <- 0x%02x\r\n", r);
|
||||
u.send(t);
|
||||
return r;
|
||||
}
|
||||
private:
|
||||
uart u;
|
||||
const typedef avrlib::pin<Port, cspin> cs;
|
||||
const typedef avrlib::pin<Port, misopin> miso;
|
||||
const typedef avrlib::pin<Port, mosipin> mosi;
|
||||
const typedef avrlib::pin<Port, sckpin> sck;
|
||||
void init() {
|
||||
init_port();
|
||||
if(mode == 0) {
|
||||
init_spi();
|
||||
}
|
||||
}
|
||||
void init_port() {
|
||||
mosi::make_output();
|
||||
mosi::make_low();
|
||||
sck::make_output();
|
||||
sck::make_low();
|
||||
cs::make_output();
|
||||
cs::make_high();
|
||||
miso::make_input();
|
||||
miso::make_low();
|
||||
}
|
||||
void init_spi() {
|
||||
SPCR = (1<<SPE) | (1<<MSTR);
|
||||
SPSR = (1<<SPI2X);
|
||||
}
|
||||
uint8_t send_soft(uint8_t data) {
|
||||
uint8_t datain=0;
|
||||
for (uint8_t a=8; a>0; a--) { //das Byte wird Bitweise nacheinander Gesendet MSB zuerst
|
||||
datain<<=1; //Schieben um das Richtige Bit zusetzen
|
||||
sck::make_low(); // Clock auf LOW
|
||||
if (data & 0x80) { //Ist Bit a in Byte gesetzt
|
||||
mosi::make_high(); //Set Output High
|
||||
}
|
||||
else{
|
||||
mosi::make_low(); //Set Output Low
|
||||
}
|
||||
_delay_us(1);
|
||||
if(miso::read()) //Lesen des Pegels
|
||||
{
|
||||
datain |= 1;
|
||||
}
|
||||
_delay_us(1);
|
||||
sck::make_high(); // Clock auf High
|
||||
_delay_us(2);
|
||||
data<<=1; //Schiebe um nächstes Bit zusenden
|
||||
}
|
||||
return datain;
|
||||
}
|
||||
uint8_t send_hard(uint8_t data) {
|
||||
// Sendet ein Byte
|
||||
SPDR = data;
|
||||
|
||||
// Wartet bis Byte gesendet wurde
|
||||
loop_until_bit_is_set(SPSR, SPIF);
|
||||
|
||||
return SPDR;
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* SPI_H_ */
|
||||
@@ -0,0 +1,50 @@
|
||||
#ifndef AVRLIB_PIN_HPP
|
||||
#define AVRLIB_PIN_HPP
|
||||
|
||||
#include <avr/io.h>
|
||||
|
||||
namespace avrlib {
|
||||
|
||||
template <typename Port, uint8_t Pin>
|
||||
struct pin
|
||||
{
|
||||
static void set(bool value = true)
|
||||
{
|
||||
if (value)
|
||||
Port::port(Port::port() | (1<<Pin));
|
||||
else
|
||||
Port::port(Port::port() & ~(1<<Pin));
|
||||
}
|
||||
|
||||
static void clear() { set(false); }
|
||||
|
||||
static void toggle() { Port::port(Port::port() ^ (1<<Pin)); }
|
||||
|
||||
static bool get() { return (Port::port() & (1<<Pin)) != 0; }
|
||||
|
||||
static bool value() { return (Port::pin() & (1<<Pin)) != 0; }
|
||||
|
||||
static void output(bool value)
|
||||
{
|
||||
if (value)
|
||||
Port::dir(Port::dir() | (1<<Pin));
|
||||
else
|
||||
Port::dir(Port::dir() & ~(1<<Pin));
|
||||
}
|
||||
|
||||
static bool output() { return (Port::dir() & (1<<Pin)) != 0; }
|
||||
|
||||
static void make_output() { output(true); }
|
||||
static void make_input() { output(false); clear(); }
|
||||
static void make_low() { clear(); output(true); }
|
||||
static void make_high() { set(); output(true); }
|
||||
static void set_value(bool value) { set(value); }
|
||||
static void set_high() { set(true); }
|
||||
static void set_low() { set(false); }
|
||||
static bool read() { return value(); }
|
||||
static void pullup() { set_high(); }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef AVRLIB_PORTB_HPP
|
||||
#define AVRLIB_PORTB_HPP
|
||||
|
||||
#include <avr/io.h>
|
||||
|
||||
namespace avrlib {
|
||||
|
||||
struct portb
|
||||
{
|
||||
static uint8_t port() { return PORTB; }
|
||||
static void port(uint8_t v) { PORTB = v; }
|
||||
|
||||
static uint8_t pin() { return PINB; }
|
||||
static void pin(uint8_t v) { PINB = v; }
|
||||
|
||||
static uint8_t dir() { return DDRB; }
|
||||
static void dir(uint8_t v) { DDRB = v; }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,22 @@
|
||||
#ifndef AVRLIB_PORTC_HPP
|
||||
#define AVRLIB_PORTC_HPP
|
||||
|
||||
#include <avr/io.h>
|
||||
|
||||
namespace avrlib {
|
||||
|
||||
struct portc
|
||||
{
|
||||
static uint8_t port() { return PORTC; }
|
||||
static void port(uint8_t v) { PORTC = v; }
|
||||
|
||||
static uint8_t pin() { return PINC; }
|
||||
static void pin(uint8_t v) { PINC = v; }
|
||||
|
||||
static uint8_t dir() { return DDRC; }
|
||||
static void dir(uint8_t v) { DDRC = v; }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Rs232.h
|
||||
*
|
||||
* Created: 04.11.2013 21:31:09
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
#ifndef RS232_H_
|
||||
#define RS232_H_
|
||||
|
||||
|
||||
#include "config.h"
|
||||
#include <stdio.h>
|
||||
#include <avr/io.h>
|
||||
|
||||
template <uint32_t baudrate>
|
||||
class Uart {
|
||||
public:
|
||||
Uart() {
|
||||
init();
|
||||
send("Uart done!\r\n");
|
||||
}
|
||||
void send(const char *text) {
|
||||
while (*text)
|
||||
{
|
||||
uart_putchar(*text);
|
||||
text++;
|
||||
}
|
||||
}
|
||||
private:
|
||||
void init() {
|
||||
UCSRC = (1 << UCSZ1) | (1 << UCSZ0); //8N1
|
||||
UCSRB = /*(1<<RXEN1) | (1<<RXCIE1) | */ (1<<TXEN); //Enable TXEN im Register UCR TX-Data Enable
|
||||
UBRRL = (F_CPU / (baudrate * 16L) - 1); //Teiler wird gesetzt
|
||||
}
|
||||
uint8_t uart_putchar(uint8_t c) {
|
||||
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
|
||||
UDR = c;
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif /* RS232_H_ */
|
||||
Reference in New Issue
Block a user