/branches/BL-Ctrl/BLMC.c |
---|
0,0 → 1,196 |
/*############################################################################ |
+ Regler für Brushless-Motoren |
+ ATMEGA8 mit 8MHz |
+ (c) 01.2007 Holger Buss |
+ Nur für den privaten Gebrauch |
+ Keine Garantie auf Fehlerfreiheit |
+ Kommerzielle Nutzung nur mit meiner Zustimmung |
+ Der Code ist für die Hardware BL_Ctrl V1.0 entwickelt worden |
+ www.mikrocontroller.com |
############################################################################*/ |
#include "main.h" |
volatile unsigned char Phase = 0,ShadowTCCR1A = 0; |
volatile unsigned char CompFreigabeTimer = 100; |
volatile unsigned char CompInterruptFreigabe = 0; |
//############################################################################ |
// |
SIGNAL(SIG_OVERFLOW2) |
//############################################################################ |
{ |
} |
//############################################################################ |
// + Interruptroutine |
// + Wird durch den Analogkomperator ausgelöst |
// + Dadurch wird das Kommutieren erzeugt |
SIGNAL(SIG_COMPARATOR) |
//############################################################################ |
{ |
unsigned char sense = 0; |
do |
{ |
if(SENSE_H) sense = 1; else sense = 0; |
switch(Phase) |
{ |
case 0: |
STEUER_A_H; |
if(sense) |
{ |
STEUER_C_L; |
TCNT2 = 1; |
if(ZeitZumAdWandeln) AdConvert(); |
SENSE_FALLING_INT; |
SENSE_B; |
Phase++; |
CntKommutierungen++; |
} |
else |
{ |
STEUER_B_L; |
} |
break; |
case 1: |
STEUER_C_L; |
if(!sense) |
{ |
STEUER_B_H; |
TCNT2 = 1; |
if(ZeitZumAdWandeln) AdConvert(); |
SENSE_A; |
SENSE_RISING_INT; |
Phase++; |
CntKommutierungen++; |
} |
else |
{ |
STEUER_A_H; |
} |
break; |
case 2: |
STEUER_B_H; |
if(sense) |
{ |
STEUER_A_L; |
TCNT2 = 1; |
if(ZeitZumAdWandeln) AdConvert(); |
SENSE_C; |
SENSE_FALLING_INT; |
Phase++; |
CntKommutierungen++; |
} |
else |
{ |
STEUER_C_L; |
} |
break; |
case 3: |
STEUER_A_L; |
if(!sense) |
{ |
STEUER_C_H; |
TCNT2 = 1; |
if(ZeitZumAdWandeln) AdConvert(); |
SENSE_B; |
SENSE_RISING_INT; |
Phase++; |
CntKommutierungen++; |
} |
else |
{ |
STEUER_B_H; |
} |
break; |
case 4: |
STEUER_C_H; |
if(sense) |
{ |
STEUER_B_L; |
TCNT2 = 1; |
if(ZeitZumAdWandeln) AdConvert(); |
SENSE_A; |
SENSE_FALLING_INT; |
Phase++; |
CntKommutierungen++; |
} |
else |
{ |
STEUER_A_L; |
} |
break; |
case 5: |
STEUER_B_L; |
if(!sense) |
{ |
STEUER_A_H; |
TCNT2 = 1; |
if(ZeitZumAdWandeln) AdConvert(); |
SENSE_C; |
SENSE_RISING_INT; |
Phase = 0; |
CntKommutierungen++; |
} |
else |
{ |
STEUER_C_H; |
} |
break; |
} |
} |
while((SENSE_L && sense) || (SENSE_H && !sense)); |
ZeitZumAdWandeln = 0; |
} |
//############################################################################ |
// |
void Manuell(void) |
//############################################################################ |
{ |
switch(Phase) |
{ |
case 0: |
STEUER_A_H; |
STEUER_B_L; |
SENSE_C; |
SENSE_RISING_INT; |
break; |
case 1: |
STEUER_A_H; |
STEUER_C_L; |
SENSE_B; |
SENSE_FALLING_INT; |
break; |
case 2: |
STEUER_B_H; |
STEUER_C_L; |
SENSE_A; |
SENSE_RISING_INT; |
break; |
case 3: |
STEUER_B_H; |
STEUER_A_L; |
SENSE_C; |
SENSE_FALLING_INT; |
break; |
case 4: |
STEUER_C_H; |
STEUER_A_L; |
SENSE_B; |
SENSE_RISING_INT; |
break; |
case 5: |
STEUER_C_H; |
STEUER_B_L; |
SENSE_A; |
SENSE_FALLING_INT; |
break; |
} |
} |
/branches/BL-Ctrl/BLMC.h |
---|
0,0 → 1,55 |
/*############################################################################ |
############################################################################*/ |
#ifndef BLMC_H_ |
#define BLMC_H_ |
extern volatile unsigned char Phase; |
extern volatile unsigned char ShadowTCCR1A; |
extern volatile unsigned char CompInterruptFreigabe; |
void Blc(void); |
void Manuell(void); |
#ifdef _32KHZ |
#define PWM_C_ON {TCCR1A = 0xA1; TCCR2 = 0x49; DDRB = 0x0A;} |
#define PWM_B_ON {TCCR1A = 0xA1; TCCR2 = 0x49; DDRB = 0x0C;} |
#define PWM_A_ON {TCCR1A = 0xA1; TCCR2 = 0x69; DDRB = 0x08;} |
#define PWM_OFF {TCCR1A = 0x01; TCCR2 = 0x49; PORTC &= ~0x0E;} |
#endif |
#ifdef _16KHZ |
#define PWM_C_ON {TCCR1A = 0xA2; TCCR2 = 0x41; DDRB = 0x0A;} |
#define PWM_B_ON {TCCR1A = 0xA2; TCCR2 = 0x41; DDRB = 0x0C;} |
#define PWM_A_ON {TCCR1A = 0xA2; TCCR2 = 0x61; DDRB = 0x08;} |
#define PWM_OFF {TCCR1A = 0x02; TCCR2 = 0x41; PORTC &= ~0x0E;} |
#endif |
#define STEUER_A_H {PWM_A_ON} |
#define STEUER_B_H {PWM_B_ON} |
#define STEUER_C_H {PWM_C_ON} |
#define STEUER_A_L {PORTD &= ~0x30; PORTD |= 0x08;} |
#define STEUER_B_L {PORTD &= ~0x28; PORTD |= 0x10;} |
#define STEUER_C_L {PORTD &= ~0x18; PORTD |= 0x20;} |
#define STEUER_OFF {PORTD &= ~0x38; PWM_OFF;} |
#define SENSE_A ADMUX = 0; |
#define SENSE_B ADMUX = 1; |
#define SENSE_C ADMUX = 2; |
#define ClrSENSE ACSR |= 0x10 |
#define SENSE ((ACSR & 0x10)) |
#define SENSE_L (!(ACSR & 0x20)) |
#define SENSE_H ((ACSR & 0x20)) |
#define ENABLE_SENSE_INT {CompInterruptFreigabe = 1;ACSR |= 0x0A; } |
#define DISABLE_SENSE_INT {CompInterruptFreigabe = 0; ACSR &= ~0x08; } |
#define SENSE_FALLING_INT ACSR &= ~0x01 |
#define SENSE_RISING_INT ACSR |= 0x03 |
#define SENSE_TOGGLE_INT ACSR &= ~0x03 |
#endif //BLMC_H_ |
/branches/BL-Ctrl/BL_Ctrl.pnproj |
---|
0,0 → 1,0 |
<Project name="avr_ctrl"><File path="uart.h"></File><File path="main.c"></File><File path="main.h"></File><File path="makefile"></File><File path="uart.c"></File><File path="timer0.c"></File><File path="timer0.h"></File><File path="analog.h"></File><File path="analog.c"></File><File path="PPM_Decode.c"></File><File path="PPM_Decode.h"></File><File path="twislave.c"></File><File path="twislave.h"></File><File path="BLMC.c"></File><File path="BLMC.h"></File></Project> |
/branches/BL-Ctrl/BL_Ctrl.pnps |
---|
0,0 → 1,0 |
<pd><ViewState><e p="avr_ctrl" x="true"></e></ViewState></pd> |
/branches/BL-Ctrl/BrushLess-Ctrl_8kHz_PWM_V0_31_1.hex |
---|
0,0 → 1,292 |
:1000000012C073C52BC02AC0D5C5D9C427C026C00D |
:10001000C5C402C423C005C321C0D2C21FC01EC0B4 |
:1000200036C677C51BC011241FBECFE5D4E0DEBFA6 |
:10003000CDBF10E0A0E6B0E0EEE1F2E102C0059035 |
:100040000D92A037B107D9F713E0A0E7B0E001C0E7 |
:100050001D92A339B107E1F73CD1E0C8D1CF20917F |
:10006000700080916400821710F4AB9A282F809161 |
:100070007200909173008338910560F01BBC1ABC2C |
:1000800019BC18BC13BCAB9A019790937300809372 |
:1000900072000895822F9927880F991F9BBD8ABDF2 |
:1000A00099BD88BD23BD089582E08FBD81E485BDE3 |
:1000B00085B3817F85BB89E08EBD089592B7980F87 |
:1000C00082B7891B87FDFCCF0895809178009091BD |
:1000D0007900892B09F04EC080917A00882371F055 |
:1000E000909186008FEF989FC001112468EC70E01A |
:1000F00044D8709385006093840044C0809191003F |
:10010000882359F120918E0030918F0041E02D32EB |
:10011000340730F4293C310540F42B30310538F4F4 |
:1001200010928500109284002CC028EC30E08CEFF7 |
:1001300090E0AC01249FC001259F900D349F900D4D |
:100140001124885D994064EB70E017D86D5F7F4F94 |
:10015000709385006093840014C080918400909116 |
:100160008500009729F00197909385008093840083 |
:10017000AB9A08C08091880399279093850080935B |
:100180008400AB9880918400909185008F3F910509 |
:1001900039F030F08FEF90E09093850080938400E9 |
:1001A0008091840099270895809172009091730046 |
:1001B00090937803809377038091750099279093AB |
:1001C0007A038093790380918200909183009093C9 |
:1001D0007C0380937B0380918E0090918F0090939D |
:1001E0007E0380937D030895AF92BF92CF92DF92FA |
:1001F000EF92FF920F931F93CF93DF93182F1092DC |
:100200009900439885E090E090937100809370008E |
:1002100026DFDAD488EC90E05FD3C12FDD27D093BE |
:100220007100C09370004CE2A42E41E0B42EC12CAA |
:10023000D12CEE24FF2487010EC080916600882314 |
:1002400011F4C8D101C0B9D284E638DF0894E11CAA |
:10025000F11C011D111DEA14FB040C051D0569F7B5 |
:10026000C601B5012FE030E040E050E09AD7A21A75 |
:10027000B30AC40AD50A0894A108B108C108D10874 |
:1002800089E1A816B104C104D104C0F09DD48091C5 |
:1002900097008F5F809397008091970066E061D709 |
:1002A0009093970034D3D0937100C0937000D7DE41 |
:1002B000449BBFCF82B3805882BBBBCFDF91CF912D |
:1002C0001F910F91FF90EF90DF90CF90BF90AF9074 |
:1002D0000895AF92BF92CF92DF92EF92FF920F9369 |
:1002E0001F93CF93DF9388E084BB85BB8AEB81BBF0 |
:1002F00080E882BB8EE087BB81E388BB78D2CFD217 |
:10030000789486E990E0E8D297988AEF90E0E4D27A |
:10031000C0E0D0E02196C130D10549F4979A86E932 |
:1003200090E0DAD297988AEF90E0D6D2F3CF86E9C0 |
:1003300090E0D2D297988AEF90E0CED2CE0101968B |
:10034000059744F384EF91E0C7D251D2ADDE80E54A |
:10035000DBD317D385E690E0ABD286E690E0A8D257 |
:1003600087E690E0A5D2EC018EEF90E0A1D25C018F |
:100370008DEE93E09DD28C018EEE93E099D26C01CC |
:10038000CE019FD28823E1F3979A109271001092C8 |
:10039000700065DE88E080BF81E087B98AE090E088 |
:1003A00087D2EC0181E090E090937A038093790307 |
:1003B00010928F0010928E00EE2487DE9927909382 |
:1003C000710080937000809197008E1551F010920B |
:1003D00063001092620082E390E06AD2EC01E09048 |
:1003E00097008091700090917100892BC9F4109250 |
:1003F0007F0010926200C80164D28823D9F0109265 |
:100400009900439881E08093630082B3877C82BB2C |
:1004100082E08FBD81E485BD85B3817F85BB0EC041 |
:1004200080916300882319F081E080937F008CED38 |
:1004300095E03ED280916300882321F010927100F4 |
:10044000109270000CDE809162008F5F80936200DA |
:10045000813009F0B2CF809163008111979AC50174 |
:1004600030D2882339F182E390E022D25C0180917E |
:100470007500482F55272091720030917300421764 |
:10048000530710F48F5F04C02417350718F4815008 |
:10049000809375008091750090916400823428F0FB |
:1004A000915090936400AB9A05C09F3F19F09F5FF5 |
:1004B00090936400C80105D2882309F18AE090E096 |
:1004C000F7D18C012091800030918100C901880F03 |
:1004D000991F820F931F880F991F66E070E04DD619 |
:1004E00070938300609382001092810010928000CC |
:1004F00080919100882319F481E080936500C60102 |
:10050000E0D1882321F08CED95E0D2D16C01CE01B1 |
:10051000D8D1882331F08091820090918300892B7B |
:1005200029F080917F00882309F447CF61E0F62EFF |
:10053000F092630010929900439884E690E0B8D15D |
:10054000EC0180917F00882309F437CFAB9810929B |
:100550007F008AE049DE979A1092630080919700AD |
:1005600081508093970081E090E090937100809398 |
:10057000700075DD88B18C7F88B9F092990088B1E0 |
:100580008A6088B984E690E093D1EC01CE0199D1DC |
:100590008823E1F38AE090E09093710080937000EB |
:1005A0005EDD88EC90E084D1EC01CE018AD1882315 |
:1005B000E1F388EE93E07CD1EC0157E0E52EFDCE2F |
:1005C0001F920F920FB60F9211240F900FBE0F9033 |
:1005D0001F9018955E9B24C0809166008823E1F4EB |
:1005E0008091890090918A00019690938A0080936F |
:1005F0008900FC01E556FD4FE081ED3019F08436AD |
:10060000910539F410928A001092890081E080935C |
:100610006600589AECB9089510928A0010928900E9 |
:1006200008951F920F920FB60F9211248F938CB1E1 |
:100630008093870080918700853F19F410926700AE |
:1006400014C0809167008F5F80936700813041F410 |
:10065000809187008093860088EC80937A0005C0A3 |
:10066000853618F084E6809367008F910F900FBE57 |
:100670000F901F901895DC0120E030E040E050E042 |
:10068000EBE9F2E005C08191280F311D4F5F5F4F0C |
:100690004A175B07C1F73F70C90136E09695879509 |
:1006A0003A95E1F7835CFD01E556FD4F8083119695 |
:1006B0002F73235CFD01E556FD4F2083A456BD4FEB |
:1006C0008DE08C931092660080919B028CB9089506 |
:1006D000EF92FF920F931F93CF93DF937A01722FC4 |
:1006E00093E290939B0260939C0280939D0203E0AF |
:1006F00010E060E0AEE9B2E046C0F701E60FF11DA0 |
:1007000090816F5F715019F4E0E040E00FC0F70195 |
:10071000E60FF11D40816F5F715011F4E0E006C0FB |
:10072000F701E60FF11DE0816F5F7150892F86950B |
:100730008695835C8C935527892F992783709070B9 |
:1007400024E0880F991F2A95E1F79A0194E03695E5 |
:1007500027959A95E1F7822B835CED0189834F7091 |
:100760005070440F551F440F551F8E2F829586954C |
:1007700086958370842B835C8A83EF73E35CEB83C1 |
:100780000C5F1F4F1496772309F0B7CFC80173DFB2 |
:10079000DF91CF911F910F91FF90EF9008951F93DC |
:1007A000182F8A3011F48DE0FADF5D9BFECF1CB963 |
:1007B00080E090E01F91089508958091FF0290914C |
:1007C00000037FD0882391F080916600882371F028 |
:1007D00022E245E653E060919A0284E479DF82E305 |
:1007E00090E066D0909300038093FF02089588E123 |
:1007F0008AB9599A579A8CE089B960E070E08FEC19 |
:1008000093E049D388EC90E053D090930003809319 |
:10081000FF028AE28CB908951F920F920FB60F92D1 |
:1008200011248F939F9380E882BF809187038F5F0D |
:100830008093870380918D00815080938D008F3F3E |
:1008400039F583E080938D0080918B0090918C002E |
:10085000019690938C0080938B008091780090910A |
:100860007900009729F001979093790080937800A0 |
:1008700080919100882329F080919100815080938C |
:10088000910080917A00882319F0815080937A003A |
:100890009F918F910F900FBE0F901F90189582E03F |
:1008A00083BF89B7816089BF89B7806489BF089594 |
:1008B00020918B0030918C00280F391FC9010197BE |
:1008C000089520918B0030918C00821B930B892F0F |
:1008D000992780789927089520918B0030918C007A |
:1008E000280F391F2150304080918B0090918C004F |
:1008F000A901481B590BCA01892F992787FFF4CFFB |
:10090000089585EA86B987E087B9369A089527B1B0 |
:1009100096E097B910BE82ED86B9349A97B9369AA7 |
:10092000349BFECF27B944B155B1440F551F440F36 |
:10093000551F493C510510F048EC50E08091720081 |
:10094000909173009C0163E0220F331F6A95E1F7D9 |
:10095000281B390B240F351F83E0369527958A9580 |
:10096000E1F730937300209372008091740099270F |
:100970008217930710F42093740016B888E080BFA4 |
:1009800008958EB5806C8EBD8EB580648EBD89B79E |
:10099000806289BF89B7846089BF08951F920F92D2 |
:1009A0000FB60F9211248F93809190008F5F8093E8 |
:1009B00090008F910F900FBE0F901F9018951F926F |
:1009C0000F920FB60F9211242F933F934F935F9383 |
:1009D0008F939F930EB406FE0FC01092900086B5C1 |
:1009E00097B590939500809394008EB58F7B8EBDC4 |
:1009F00084E6809391006EC08EB580648EBD46B54E |
:100A000057B5809190002091940030919500421B41 |
:100A1000530B9927982F8827990F480F591F5295E4 |
:100A200042954F7045275F70452750939300409340 |
:100A3000920081E04831580758F4109293001092C8 |
:100A4000920080918E0090918F0040E050E013C0A2 |
:100A500048515140509393004093920080918E00F2 |
:100A600090918F008417950730F480918E009091BB |
:100A70008F0001960CC080918E0090918F004817D6 |
:100A8000590748F480918E0090918F0001979093C0 |
:100A90008F0080938E0080918E0090918F009C013A |
:100AA000220F331F220F331F220F331F281B390B36 |
:100AB000240F351F83E0369527958A95E1F730930B |
:100AC00093002093920030938F0020938E0081E05A |
:100AD000809365009F918F915F914F913F912F91EE |
:100AE0000F900FBE0F901F9018951F920F920FB688 |
:100AF0000F9211248F938AB78F7B8ABF8F910F90AB |
:100B00000FBE0F901F9018958E5F82B985EC86BF3F |
:100B100008951F920F920FB60F9211248F939F93F7 |
:100B200081B19927887F907080389105C9F081380C |
:100B3000910534F4009791F18036910591F50AC042 |
:100B4000883B9105B9F0883F910529F1883A9105D4 |
:100B500041F510C086B7806886BF1092960023C00A |
:100B600083B18093880384EF91E090937900809320 |
:100B700078000EC080919600882339F4809175002A |
:100B800083B981E08093960003C08091640083B9AB |
:100B900086B7806807C086B7806986BF86B78069D8 |
:100BA00086BF85EC86BF9F918F910F900FBE0F90EF |
:100BB0001F9018951F920F920FB60F9211240F904D |
:100BC0000FBE0F901F90189590919700923041F1B1 |
:100BD000933030F4992361F0913009F057C014C07C |
:100BE0009430C1F1943040F1953009F04FC042C0CB |
:100BF00082EA8FBD81E685BD88E087BB82B3877DB1 |
:100C000082BB949A82E031C082EA8FBD81E685BDC5 |
:100C100088E087BB82B3877E82BB959A97B918C05C |
:100C200082EA8FBD81E485BD8CE087BB82B3877E7D |
:100C300082BB959A17B81AC082EA8FBD81E485BD40 |
:100C40008CE087BB82B38F7C82BB939A82E087B9AA |
:100C50004098089582EA8FBD81E485BD8AE087BB14 |
:100C600082B38F7C82BB939A81E087B988B183601D |
:100C700088B9089582EA8FBD81E485BD8AE087BB8B |
:100C800082B3877D82BB949A17B8409808951F92CB |
:100C90000F920FB60F9211240F931F932F933F9330 |
:100CA0004F935F936F937F938F939F93AF93BF9374 |
:100CB000EF93FF9388B19927689414F896958795D8 |
:100CC0001694E1F7082F017010919700123009F483 |
:100CD00056C0133030F4112371F0113009F0BCC04C |
:100CE00024C0143009F47EC0143008F461C01530FB |
:100CF00009F0B2C091C082EA8FBD81E685BD88E06F |
:100D000087BB002369F082B3877E82BB959A11E08E |
:100D100014BD809165008111FADD409817B91AC0A1 |
:100D200082B3877D82BB949A97C082B3877E82BB51 |
:100D3000959A0023F1F482EA8FBD81E485BD8CE0B1 |
:100D400087BB14BD809165008111E1DD17B888B1C2 |
:100D5000836088B9809197008F5F8093970080911E |
:100D60008000909181000196909381008093800093 |
:100D700073C082EA8FBD81E685BD88E06CC082EADF |
:100D80008FBD81E485BD8CE087BB002361F082B319 |
:100D90008F7C82BB939A81E084BD80916500811134 |
:100DA000B6DD17B932C082B3877E82BB959A54C034 |
:100DB00082B38F7C82BB939A002371F482EA8FBD49 |
:100DC00081E485BD8AE087BB11E014BD8091650098 |
:100DD00081119DDD17B9BBCF82EA8FBD81E485BD4E |
:100DE0008CE039C082EA8FBD81E485BD8AE087BB93 |
:100DF000002369F082B3877D82BB949A81E084BD31 |
:100E000080916500811183DD17B84098A3CF82B32C |
:100E10008F7C82BB939A20C082B3877D82BB949AD9 |
:100E20000023A1F482EA8FBD81E685BD88E087BBFF |
:100E300081E084BD80916500811169DD82E087B920 |
:100E400088B1836088B91092970089CF82EA8FBDFC |
:100E500081E485BD8AE087BB459903C0002309F082 |
:100E600029CF459B03C0002309F424CF10926500CD |
:100E7000FF91EF91BF91AF919F918F917F916F9172 |
:100E80005F914F913F912F911F910F910F900FBE46 |
:100E90000F901F901895EF92FF920F931F93CF938F |
:100EA000DF938C017B01892B11F4672BC9F16EE074 |
:100EB00070E081E090E03BD0FC01009789F1DC011B |
:100EC00080E88383E114F10471F0F386E28681E81F |
:100ED00083838091890390918A03892B21F4F09375 |
:100EE0008A03E093890301151105E1F0118700875A |
:100EF00083818260838380918B0390918C03892B03 |
:100F000089F4F0938C03E0938B0380918D0390918F |
:100F10008E03892B39F4F0938E03E0938D0302C086 |
:100F2000A0E0B0E0CD01E6E0CDB7DEB768C10F9339 |
:100F30001F93CF93DF93869F8001879F100D969F0D |
:100F4000100D1124C8010DD0EC01009721F0A8016B |
:100F500060E070E0FFD0CE01DF91CF911F910F9143 |
:100F60000895CF93DF93AC01029710F442E050E074 |
:100F7000A0919103B0919203FD01C0E0D0E020E088 |
:100F800030E020C0808191818417950769F48281C7 |
:100F90009381209719F09B838A8304C090939203D6 |
:100FA00080939103CF0132C04817590738F42115B7 |
:100FB000310519F08217930708F49C01EF010280B4 |
:100FC000F381E02D3097F1F62115310589F1C90142 |
:100FD000841B950B049708F4A901E0E0F0E026C01B |
:100FE0008D919C91119782179307E9F4481759073F |
:100FF00079F4ED018A819B81309719F09383828384 |
:1010000004C09093920380939103CD01029649C04E |
:10101000841B950BFD01E80FF91F41935193029733 |
:101020008D939C933AC0FD01A281B3811097C1F6C4 |
:1010300080918F0390919003892B41F480916B00F4 |
:1010400090916C009093900380938F0320916D009A |
:1010500030916E002115310541F42DB73EB78091D6 |
:10106000690090916A00281B390BE0918F03F09181 |
:1010700090032E1B3F0B2417350788F0CA010296F8 |
:101080002817390760F0CF01840F951F02969093BF |
:10109000900380938F0341935193CF0102C080E06E |
:1010A00090E0DF91CF910895CF93DF93009709F4FB |
:1010B0004EC0EC0122971B821A82A0919103B0913D |
:1010C0009203109711F140E050E001C0DC01AC1731 |
:1010D000BD0700F1BB83AA83FE0121913191E20F8C |
:1010E000F31FEA17FB0771F42E5F3F4F8D919C9120 |
:1010F0001197820F931F99838883FD0182819381C9 |
:101100009B838A834115510559F4D0939203C09370 |
:1011100091031DC0FD0182819381AD010097B1F65D |
:10112000FA01D383C28321913191E20FF31FEC17AF |
:10113000FD0769F42E5F3F4F88819981820F931FCD |
:10114000FA01918380838A819B8193838283DF91DB |
:10115000CF910895DC0101C06D9341505040E0F7FC |
:101160000895991B79E004C0991F961708F0961B03 |
:10117000881F7A95C9F780950895AA1BBB1B51E17A |
:1011800007C0AA1FBB1FA617B70710F0A61BB70BF7 |
:10119000881F991F5A95A9F780959095BC01CD019C |
:1011A0000895A1E21A2EAA1BBB1BFD010DC0AA1FA8 |
:1011B000BB1FEE1FFF1FA217B307E407F50720F0C0 |
:1011C000A21BB30BE40BF50B661F771F881F991F3B |
:1011D0001A9469F760957095809590959B01AC0184 |
:1011E000BD01CF0108952A88398848885F846E84BC |
:1011F0007D848C849B84AA84B984C884DF80EE803B |
:10120000FD800C811B81AA81B981CE0FD11D0FB643 |
:0E121000F894DEBF0FBECDBFED010895FFCFF5 |
:10121E000A000101FF010164642000930300000035 |
:00000001FF |
/branches/BL-Ctrl/BrushLess-Ctrl_8kHz_PWM_V0_31_2.hex |
---|
0,0 → 1,292 |
:1000000012C073C52BC02AC0D5C5D9C427C026C00D |
:10001000C5C402C423C005C321C0D2C21FC01EC0B4 |
:1000200036C677C51BC011241FBECFE5D4E0DEBFA6 |
:10003000CDBF10E0A0E6B0E0EEE1F2E102C0059035 |
:100040000D92A037B107D9F713E0A0E7B0E001C0E7 |
:100050001D92A339B107E1F73CD1E0C8D1CF20917F |
:10006000700080916400821710F4AB9A282F809161 |
:100070007200909173008338910560F01BBC1ABC2C |
:1000800019BC18BC13BCAB9A019790937300809372 |
:1000900072000895822F9927880F991F9BBD8ABDF2 |
:1000A00099BD88BD23BD089582E08FBD81E485BDE3 |
:1000B00085B3817F85BB89E08EBD089592B7980F87 |
:1000C00082B7891B87FDFCCF0895809178009091BD |
:1000D0007900892B09F04EC080917A00882371F055 |
:1000E000909186008FEF989FC001112468EC70E01A |
:1000F00044D8709385006093840044C0809191003F |
:10010000882359F120918E0030918F0041E02D32EB |
:10011000340730F4293C310540F42B30310538F4F4 |
:1001200010928500109284002CC028EC30E08CEFF7 |
:1001300090E0AC01249FC001259F900D349F900D4D |
:100140001124885D994064EB70E017D86D5F7F4F94 |
:10015000709385006093840014C080918400909116 |
:100160008500009729F00197909385008093840083 |
:10017000AB9A08C08091880399279093850080935B |
:100180008400AB9880918400909185008F3F910509 |
:1001900039F030F08FEF90E09093850080938400E9 |
:1001A0008091840099270895809172009091730046 |
:1001B00090937803809377038091750099279093AB |
:1001C0007A038093790380918200909183009093C9 |
:1001D0007C0380937B0380918E0090918F0090939D |
:1001E0007E0380937D030895AF92BF92CF92DF92FA |
:1001F000EF92FF920F931F93CF93DF93182F1092DC |
:100200009900439885E090E090937100809370008E |
:1002100026DFDAD488EC90E05FD3C12FDD27D093BE |
:100220007100C09370004CE2A42E41E0B42EC12CAA |
:10023000D12CEE24FF2487010EC080916600882314 |
:1002400011F4C8D101C0B9D284E638DF0894E11CAA |
:10025000F11C011D111DEA14FB040C051D0569F7B5 |
:10026000C601B5012FE030E040E050E09AD7A21A75 |
:10027000B30AC40AD50A0894A108B108C108D10874 |
:1002800089E1A816B104C104D104C0F09DD48091C5 |
:1002900097008F5F809397008091970066E061D709 |
:1002A0009093970034D3D0937100C0937000D7DE41 |
:1002B000449BBFCF82B3805882BBBBCFDF91CF912D |
:1002C0001F910F91FF90EF90DF90CF90BF90AF9074 |
:1002D0000895AF92BF92CF92DF92EF92FF920F9369 |
:1002E0001F93CF93DF9388E084BB85BB8AEB81BBF0 |
:1002F00080E882BB8EE087BB81E388BB78D2CFD217 |
:10030000789486E990E0E8D297988AEF90E0E4D27A |
:10031000C0E0D0E02196C230D10549F4979A86E931 |
:1003200090E0DAD297988AEF90E0D6D2F3CF86E9C0 |
:1003300090E0D2D297988AEF90E0CED2CE0101968B |
:10034000059744F384EF91E0C7D251D2ADDE80E54A |
:10035000DBD317D385E690E0ABD286E690E0A8D257 |
:1003600087E690E0A5D2EC018EEF90E0A1D25C018F |
:100370008DEE93E09DD28C018EEE93E099D26C01CC |
:10038000CE019FD28823E1F3979A109271001092C8 |
:10039000700065DE88E080BF81E087B98AE090E088 |
:1003A00087D2EC0181E090E090937A038093790307 |
:1003B00010928F0010928E00EE2487DE9927909382 |
:1003C000710080937000809197008E1551F010920B |
:1003D00063001092620082E390E06AD2EC01E09048 |
:1003E00097008091700090917100892BC9F4109250 |
:1003F0007F0010926200C80164D28823D9F0109265 |
:100400009900439881E08093630082B3877C82BB2C |
:1004100082E08FBD81E485BD85B3817F85BB0EC041 |
:1004200080916300882319F081E080937F008CED38 |
:1004300095E03ED280916300882321F010927100F4 |
:10044000109270000CDE809162008F5F80936200DA |
:10045000813009F0B2CF809163008111979AC50174 |
:1004600030D2882339F182E390E022D25C0180917E |
:100470007500482F55272091720030917300421764 |
:10048000530710F48F5F04C02417350718F4815008 |
:10049000809375008091750090916400823428F0FB |
:1004A000915090936400AB9A05C09F3F19F09F5FF5 |
:1004B00090936400C80105D2882309F18AE090E096 |
:1004C000F7D18C012091800030918100C901880F03 |
:1004D000991F820F931F880F991F66E070E04DD619 |
:1004E00070938300609382001092810010928000CC |
:1004F00080919100882319F481E080936500C60102 |
:10050000E0D1882321F08CED95E0D2D16C01CE01B1 |
:10051000D8D1882331F08091820090918300892B7B |
:1005200029F080917F00882309F447CF61E0F62EFF |
:10053000F092630010929900439884E690E0B8D15D |
:10054000EC0180917F00882309F437CFAB9810929B |
:100550007F008AE049DE979A1092630080919700AD |
:1005600081508093970081E090E090937100809398 |
:10057000700075DD88B18C7F88B9F092990088B1E0 |
:100580008A6088B984E690E093D1EC01CE0199D1DC |
:100590008823E1F38AE090E09093710080937000EB |
:1005A0005EDD88EC90E084D1EC01CE018AD1882315 |
:1005B000E1F388EE93E07CD1EC0157E0E52EFDCE2F |
:1005C0001F920F920FB60F9211240F900FBE0F9033 |
:1005D0001F9018955E9B24C0809166008823E1F4EB |
:1005E0008091890090918A00019690938A0080936F |
:1005F0008900FC01E556FD4FE081ED3019F08436AD |
:10060000910539F410928A001092890081E080935C |
:100610006600589AECB9089510928A0010928900E9 |
:1006200008951F920F920FB60F9211248F938CB1E1 |
:100630008093870080918700853F19F410926700AE |
:1006400014C0809167008F5F80936700823041F40F |
:10065000809187008093860088EC80937A0005C0A3 |
:10066000853618F084E6809367008F910F900FBE57 |
:100670000F901F901895DC0120E030E040E050E042 |
:10068000EBE9F2E005C08191280F311D4F5F5F4F0C |
:100690004A175B07C1F73F70C90136E09695879509 |
:1006A0003A95E1F7835CFD01E556FD4F8083119695 |
:1006B0002F73235CFD01E556FD4F2083A456BD4FEB |
:1006C0008DE08C931092660080919B028CB9089506 |
:1006D000EF92FF920F931F93CF93DF937A01722FC4 |
:1006E00093E290939B0260939C0280939D0203E0AF |
:1006F00010E060E0AEE9B2E046C0F701E60FF11DA0 |
:1007000090816F5F715019F4E0E040E00FC0F70195 |
:10071000E60FF11D40816F5F715011F4E0E006C0FB |
:10072000F701E60FF11DE0816F5F7150892F86950B |
:100730008695835C8C935527892F992783709070B9 |
:1007400024E0880F991F2A95E1F79A0194E03695E5 |
:1007500027959A95E1F7822B835CED0189834F7091 |
:100760005070440F551F440F551F8E2F829586954C |
:1007700086958370842B835C8A83EF73E35CEB83C1 |
:100780000C5F1F4F1496772309F0B7CFC80173DFB2 |
:10079000DF91CF911F910F91FF90EF9008951F93DC |
:1007A000182F8A3011F48DE0FADF5D9BFECF1CB963 |
:1007B00080E090E01F91089508958091FF0290914C |
:1007C00000037FD0882391F080916600882371F028 |
:1007D00022E245E653E060919A0284E479DF82E305 |
:1007E00090E066D0909300038093FF02089588E123 |
:1007F0008AB9599A579A8CE089B960E070E08FEC19 |
:1008000093E049D388EC90E053D090930003809319 |
:10081000FF028AE28CB908951F920F920FB60F92D1 |
:1008200011248F939F9380E882BF809187038F5F0D |
:100830008093870380918D00815080938D008F3F3E |
:1008400039F583E080938D0080918B0090918C002E |
:10085000019690938C0080938B008091780090910A |
:100860007900009729F001979093790080937800A0 |
:1008700080919100882329F080919100815080938C |
:10088000910080917A00882319F0815080937A003A |
:100890009F918F910F900FBE0F901F90189582E03F |
:1008A00083BF89B7816089BF89B7806489BF089594 |
:1008B00020918B0030918C00280F391FC9010197BE |
:1008C000089520918B0030918C00821B930B892F0F |
:1008D000992780789927089520918B0030918C007A |
:1008E000280F391F2150304080918B0090918C004F |
:1008F000A901481B590BCA01892F992787FFF4CFFB |
:10090000089585EA86B987E087B9369A089527B1B0 |
:1009100096E097B910BE82ED86B9349A97B9369AA7 |
:10092000349BFECF27B944B155B1440F551F440F36 |
:10093000551F493C510510F048EC50E08091720081 |
:10094000909173009C0163E0220F331F6A95E1F7D9 |
:10095000281B390B240F351F83E0369527958A9580 |
:10096000E1F730937300209372008091740099270F |
:100970008217930710F42093740016B888E080BFA4 |
:1009800008958EB5806C8EBD8EB580648EBD89B79E |
:10099000806289BF89B7846089BF08951F920F92D2 |
:1009A0000FB60F9211248F93809190008F5F8093E8 |
:1009B00090008F910F900FBE0F901F9018951F926F |
:1009C0000F920FB60F9211242F933F934F935F9383 |
:1009D0008F939F930EB406FE0FC01092900086B5C1 |
:1009E00097B590939500809394008EB58F7B8EBDC4 |
:1009F00084E6809391006EC08EB580648EBD46B54E |
:100A000057B5809190002091940030919500421B41 |
:100A1000530B9927982F8827990F480F591F5295E4 |
:100A200042954F7045275F70452750939300409340 |
:100A3000920081E04831580758F4109293001092C8 |
:100A4000920080918E0090918F0040E050E013C0A2 |
:100A500048515140509393004093920080918E00F2 |
:100A600090918F008417950730F480918E009091BB |
:100A70008F0001960CC080918E0090918F004817D6 |
:100A8000590748F480918E0090918F0001979093C0 |
:100A90008F0080938E0080918E0090918F009C013A |
:100AA000220F331F220F331F220F331F281B390B36 |
:100AB000240F351F83E0369527958A95E1F730930B |
:100AC00093002093920030938F0020938E0081E05A |
:100AD000809365009F918F915F914F913F912F91EE |
:100AE0000F900FBE0F901F9018951F920F920FB688 |
:100AF0000F9211248F938AB78F7B8ABF8F910F90AB |
:100B00000FBE0F901F9018958C5F82B985EC86BF41 |
:100B100008951F920F920FB60F9211248F939F93F7 |
:100B200081B19927887F907080389105C9F081380C |
:100B3000910534F4009791F18036910591F50AC042 |
:100B4000883B9105B9F0883F910529F1883A9105D4 |
:100B500041F510C086B7806886BF1092960023C00A |
:100B600083B18093880384EF91E090937900809320 |
:100B700078000EC080919600882339F4809175002A |
:100B800083B981E08093960003C08091640083B9AB |
:100B900086B7806807C086B7806986BF86B78069D8 |
:100BA00086BF85EC86BF9F918F910F900FBE0F90EF |
:100BB0001F9018951F920F920FB60F9211240F904D |
:100BC0000FBE0F901F90189590919700923041F1B1 |
:100BD000933030F4992361F0913009F057C014C07C |
:100BE0009430C1F1943040F1953009F04FC042C0CB |
:100BF00082EA8FBD81E685BD88E087BB82B3877DB1 |
:100C000082BB949A82E031C082EA8FBD81E685BDC5 |
:100C100088E087BB82B3877E82BB959A97B918C05C |
:100C200082EA8FBD81E485BD8CE087BB82B3877E7D |
:100C300082BB959A17B81AC082EA8FBD81E485BD40 |
:100C40008CE087BB82B38F7C82BB939A82E087B9AA |
:100C50004098089582EA8FBD81E485BD8AE087BB14 |
:100C600082B38F7C82BB939A81E087B988B183601D |
:100C700088B9089582EA8FBD81E485BD8AE087BB8B |
:100C800082B3877D82BB949A17B8409808951F92CB |
:100C90000F920FB60F9211240F931F932F933F9330 |
:100CA0004F935F936F937F938F939F93AF93BF9374 |
:100CB000EF93FF9388B19927689414F896958795D8 |
:100CC0001694E1F7082F017010919700123009F483 |
:100CD00056C0133030F4112371F0113009F0BCC04C |
:100CE00024C0143009F47EC0143008F461C01530FB |
:100CF00009F0B2C091C082EA8FBD81E685BD88E06F |
:100D000087BB002369F082B3877E82BB959A11E08E |
:100D100014BD809165008111FADD409817B91AC0A1 |
:100D200082B3877D82BB949A97C082B3877E82BB51 |
:100D3000959A0023F1F482EA8FBD81E485BD8CE0B1 |
:100D400087BB14BD809165008111E1DD17B888B1C2 |
:100D5000836088B9809197008F5F8093970080911E |
:100D60008000909181000196909381008093800093 |
:100D700073C082EA8FBD81E685BD88E06CC082EADF |
:100D80008FBD81E485BD8CE087BB002361F082B319 |
:100D90008F7C82BB939A81E084BD80916500811134 |
:100DA000B6DD17B932C082B3877E82BB959A54C034 |
:100DB00082B38F7C82BB939A002371F482EA8FBD49 |
:100DC00081E485BD8AE087BB11E014BD8091650098 |
:100DD00081119DDD17B9BBCF82EA8FBD81E485BD4E |
:100DE0008CE039C082EA8FBD81E485BD8AE087BB93 |
:100DF000002369F082B3877D82BB949A81E084BD31 |
:100E000080916500811183DD17B84098A3CF82B32C |
:100E10008F7C82BB939A20C082B3877D82BB949AD9 |
:100E20000023A1F482EA8FBD81E685BD88E087BBFF |
:100E300081E084BD80916500811169DD82E087B920 |
:100E400088B1836088B91092970089CF82EA8FBDFC |
:100E500081E485BD8AE087BB459903C0002309F082 |
:100E600029CF459B03C0002309F424CF10926500CD |
:100E7000FF91EF91BF91AF919F918F917F916F9172 |
:100E80005F914F913F912F911F910F910F900FBE46 |
:100E90000F901F901895EF92FF920F931F93CF938F |
:100EA000DF938C017B01892B11F4672BC9F16EE074 |
:100EB00070E081E090E03BD0FC01009789F1DC011B |
:100EC00080E88383E114F10471F0F386E28681E81F |
:100ED00083838091890390918A03892B21F4F09375 |
:100EE0008A03E093890301151105E1F0118700875A |
:100EF00083818260838380918B0390918C03892B03 |
:100F000089F4F0938C03E0938B0380918D0390918F |
:100F10008E03892B39F4F0938E03E0938D0302C086 |
:100F2000A0E0B0E0CD01E6E0CDB7DEB768C10F9339 |
:100F30001F93CF93DF93869F8001879F100D969F0D |
:100F4000100D1124C8010DD0EC01009721F0A8016B |
:100F500060E070E0FFD0CE01DF91CF911F910F9143 |
:100F60000895CF93DF93AC01029710F442E050E074 |
:100F7000A0919103B0919203FD01C0E0D0E020E088 |
:100F800030E020C0808191818417950769F48281C7 |
:100F90009381209719F09B838A8304C090939203D6 |
:100FA00080939103CF0132C04817590738F42115B7 |
:100FB000310519F08217930708F49C01EF010280B4 |
:100FC000F381E02D3097F1F62115310589F1C90142 |
:100FD000841B950B049708F4A901E0E0F0E026C01B |
:100FE0008D919C91119782179307E9F4481759073F |
:100FF00079F4ED018A819B81309719F09383828384 |
:1010000004C09093920380939103CD01029649C04E |
:10101000841B950BFD01E80FF91F41935193029733 |
:101020008D939C933AC0FD01A281B3811097C1F6C4 |
:1010300080918F0390919003892B41F480916B00F4 |
:1010400090916C009093900380938F0320916D009A |
:1010500030916E002115310541F42DB73EB78091D6 |
:10106000690090916A00281B390BE0918F03F09181 |
:1010700090032E1B3F0B2417350788F0CA010296F8 |
:101080002817390760F0CF01840F951F02969093BF |
:10109000900380938F0341935193CF0102C080E06E |
:1010A00090E0DF91CF910895CF93DF93009709F4FB |
:1010B0004EC0EC0122971B821A82A0919103B0913D |
:1010C0009203109711F140E050E001C0DC01AC1731 |
:1010D000BD0700F1BB83AA83FE0121913191E20F8C |
:1010E000F31FEA17FB0771F42E5F3F4F8D919C9120 |
:1010F0001197820F931F99838883FD0182819381C9 |
:101100009B838A834115510559F4D0939203C09370 |
:1011100091031DC0FD0182819381AD010097B1F65D |
:10112000FA01D383C28321913191E20FF31FEC17AF |
:10113000FD0769F42E5F3F4F88819981820F931FCD |
:10114000FA01918380838A819B8193838283DF91DB |
:10115000CF910895DC0101C06D9341505040E0F7FC |
:101160000895991B79E004C0991F961708F0961B03 |
:10117000881F7A95C9F780950895AA1BBB1B51E17A |
:1011800007C0AA1FBB1FA617B70710F0A61BB70BF7 |
:10119000881F991F5A95A9F780959095BC01CD019C |
:1011A0000895A1E21A2EAA1BBB1BFD010DC0AA1FA8 |
:1011B000BB1FEE1FFF1FA217B307E407F50720F0C0 |
:1011C000A21BB30BE40BF50B661F771F881F991F3B |
:1011D0001A9469F760957095809590959B01AC0184 |
:1011E000BD01CF0108952A88398848885F846E84BC |
:1011F0007D848C849B84AA84B984C884DF80EE803B |
:10120000FD800C811B81AA81B981CE0FD11D0FB643 |
:0E121000F894DEBF0FBECDBFED010895FFCFF5 |
:10121E000A000101FF010164642000930300000035 |
:00000001FF |
/branches/BL-Ctrl/BrushLess-Ctrl_8kHz_PWM_V0_31_3.hex |
---|
0,0 → 1,292 |
:1000000012C073C52BC02AC0D5C5D9C427C026C00D |
:10001000C5C402C423C005C321C0D2C21FC01EC0B4 |
:1000200036C677C51BC011241FBECFE5D4E0DEBFA6 |
:10003000CDBF10E0A0E6B0E0EEE1F2E102C0059035 |
:100040000D92A037B107D9F713E0A0E7B0E001C0E7 |
:100050001D92A339B107E1F73CD1E0C8D1CF20917F |
:10006000700080916400821710F4AB9A282F809161 |
:100070007200909173008338910560F01BBC1ABC2C |
:1000800019BC18BC13BCAB9A019790937300809372 |
:1000900072000895822F9927880F991F9BBD8ABDF2 |
:1000A00099BD88BD23BD089582E08FBD81E485BDE3 |
:1000B00085B3817F85BB89E08EBD089592B7980F87 |
:1000C00082B7891B87FDFCCF0895809178009091BD |
:1000D0007900892B09F04EC080917A00882371F055 |
:1000E000909186008FEF989FC001112468EC70E01A |
:1000F00044D8709385006093840044C0809191003F |
:10010000882359F120918E0030918F0041E02D32EB |
:10011000340730F4293C310540F42B30310538F4F4 |
:1001200010928500109284002CC028EC30E08CEFF7 |
:1001300090E0AC01249FC001259F900D349F900D4D |
:100140001124885D994064EB70E017D86D5F7F4F94 |
:10015000709385006093840014C080918400909116 |
:100160008500009729F00197909385008093840083 |
:10017000AB9A08C08091880399279093850080935B |
:100180008400AB9880918400909185008F3F910509 |
:1001900039F030F08FEF90E09093850080938400E9 |
:1001A0008091840099270895809172009091730046 |
:1001B00090937803809377038091750099279093AB |
:1001C0007A038093790380918200909183009093C9 |
:1001D0007C0380937B0380918E0090918F0090939D |
:1001E0007E0380937D030895AF92BF92CF92DF92FA |
:1001F000EF92FF920F931F93CF93DF93182F1092DC |
:100200009900439885E090E090937100809370008E |
:1002100026DFDAD488EC90E05FD3C12FDD27D093BE |
:100220007100C09370004CE2A42E41E0B42EC12CAA |
:10023000D12CEE24FF2487010EC080916600882314 |
:1002400011F4C8D101C0B9D284E638DF0894E11CAA |
:10025000F11C011D111DEA14FB040C051D0569F7B5 |
:10026000C601B5012FE030E040E050E09AD7A21A75 |
:10027000B30AC40AD50A0894A108B108C108D10874 |
:1002800089E1A816B104C104D104C0F09DD48091C5 |
:1002900097008F5F809397008091970066E061D709 |
:1002A0009093970034D3D0937100C0937000D7DE41 |
:1002B000449BBFCF82B3805882BBBBCFDF91CF912D |
:1002C0001F910F91FF90EF90DF90CF90BF90AF9074 |
:1002D0000895AF92BF92CF92DF92EF92FF920F9369 |
:1002E0001F93CF93DF9388E084BB85BB8AEB81BBF0 |
:1002F00080E882BB8EE087BB81E388BB78D2CFD217 |
:10030000789486E990E0E8D297988AEF90E0E4D27A |
:10031000C0E0D0E02196C330D10549F4979A86E930 |
:1003200090E0DAD297988AEF90E0D6D2F3CF86E9C0 |
:1003300090E0D2D297988AEF90E0CED2CE0101968B |
:10034000059744F384EF91E0C7D251D2ADDE80E54A |
:10035000DBD317D385E690E0ABD286E690E0A8D257 |
:1003600087E690E0A5D2EC018EEF90E0A1D25C018F |
:100370008DEE93E09DD28C018EEE93E099D26C01CC |
:10038000CE019FD28823E1F3979A109271001092C8 |
:10039000700065DE88E080BF81E087B98AE090E088 |
:1003A00087D2EC0181E090E090937A038093790307 |
:1003B00010928F0010928E00EE2487DE9927909382 |
:1003C000710080937000809197008E1551F010920B |
:1003D00063001092620082E390E06AD2EC01E09048 |
:1003E00097008091700090917100892BC9F4109250 |
:1003F0007F0010926200C80164D28823D9F0109265 |
:100400009900439881E08093630082B3877C82BB2C |
:1004100082E08FBD81E485BD85B3817F85BB0EC041 |
:1004200080916300882319F081E080937F008CED38 |
:1004300095E03ED280916300882321F010927100F4 |
:10044000109270000CDE809162008F5F80936200DA |
:10045000813009F0B2CF809163008111979AC50174 |
:1004600030D2882339F182E390E022D25C0180917E |
:100470007500482F55272091720030917300421764 |
:10048000530710F48F5F04C02417350718F4815008 |
:10049000809375008091750090916400823428F0FB |
:1004A000915090936400AB9A05C09F3F19F09F5FF5 |
:1004B00090936400C80105D2882309F18AE090E096 |
:1004C000F7D18C012091800030918100C901880F03 |
:1004D000991F820F931F880F991F66E070E04DD619 |
:1004E00070938300609382001092810010928000CC |
:1004F00080919100882319F481E080936500C60102 |
:10050000E0D1882321F08CED95E0D2D16C01CE01B1 |
:10051000D8D1882331F08091820090918300892B7B |
:1005200029F080917F00882309F447CF61E0F62EFF |
:10053000F092630010929900439884E690E0B8D15D |
:10054000EC0180917F00882309F437CFAB9810929B |
:100550007F008AE049DE979A1092630080919700AD |
:1005600081508093970081E090E090937100809398 |
:10057000700075DD88B18C7F88B9F092990088B1E0 |
:100580008A6088B984E690E093D1EC01CE0199D1DC |
:100590008823E1F38AE090E09093710080937000EB |
:1005A0005EDD88EC90E084D1EC01CE018AD1882315 |
:1005B000E1F388EE93E07CD1EC0157E0E52EFDCE2F |
:1005C0001F920F920FB60F9211240F900FBE0F9033 |
:1005D0001F9018955E9B24C0809166008823E1F4EB |
:1005E0008091890090918A00019690938A0080936F |
:1005F0008900FC01E556FD4FE081ED3019F08436AD |
:10060000910539F410928A001092890081E080935C |
:100610006600589AECB9089510928A0010928900E9 |
:1006200008951F920F920FB60F9211248F938CB1E1 |
:100630008093870080918700853F19F410926700AE |
:1006400014C0809167008F5F80936700833041F40E |
:10065000809187008093860088EC80937A0005C0A3 |
:10066000853618F084E6809367008F910F900FBE57 |
:100670000F901F901895DC0120E030E040E050E042 |
:10068000EBE9F2E005C08191280F311D4F5F5F4F0C |
:100690004A175B07C1F73F70C90136E09695879509 |
:1006A0003A95E1F7835CFD01E556FD4F8083119695 |
:1006B0002F73235CFD01E556FD4F2083A456BD4FEB |
:1006C0008DE08C931092660080919B028CB9089506 |
:1006D000EF92FF920F931F93CF93DF937A01722FC4 |
:1006E00093E290939B0260939C0280939D0203E0AF |
:1006F00010E060E0AEE9B2E046C0F701E60FF11DA0 |
:1007000090816F5F715019F4E0E040E00FC0F70195 |
:10071000E60FF11D40816F5F715011F4E0E006C0FB |
:10072000F701E60FF11DE0816F5F7150892F86950B |
:100730008695835C8C935527892F992783709070B9 |
:1007400024E0880F991F2A95E1F79A0194E03695E5 |
:1007500027959A95E1F7822B835CED0189834F7091 |
:100760005070440F551F440F551F8E2F829586954C |
:1007700086958370842B835C8A83EF73E35CEB83C1 |
:100780000C5F1F4F1496772309F0B7CFC80173DFB2 |
:10079000DF91CF911F910F91FF90EF9008951F93DC |
:1007A000182F8A3011F48DE0FADF5D9BFECF1CB963 |
:1007B00080E090E01F91089508958091FF0290914C |
:1007C00000037FD0882391F080916600882371F028 |
:1007D00022E245E653E060919A0284E479DF82E305 |
:1007E00090E066D0909300038093FF02089588E123 |
:1007F0008AB9599A579A8CE089B960E070E08FEC19 |
:1008000093E049D388EC90E053D090930003809319 |
:10081000FF028AE28CB908951F920F920FB60F92D1 |
:1008200011248F939F9380E882BF809187038F5F0D |
:100830008093870380918D00815080938D008F3F3E |
:1008400039F583E080938D0080918B0090918C002E |
:10085000019690938C0080938B008091780090910A |
:100860007900009729F001979093790080937800A0 |
:1008700080919100882329F080919100815080938C |
:10088000910080917A00882319F0815080937A003A |
:100890009F918F910F900FBE0F901F90189582E03F |
:1008A00083BF89B7816089BF89B7806489BF089594 |
:1008B00020918B0030918C00280F391FC9010197BE |
:1008C000089520918B0030918C00821B930B892F0F |
:1008D000992780789927089520918B0030918C007A |
:1008E000280F391F2150304080918B0090918C004F |
:1008F000A901481B590BCA01892F992787FFF4CFFB |
:10090000089585EA86B987E087B9369A089527B1B0 |
:1009100096E097B910BE82ED86B9349A97B9369AA7 |
:10092000349BFECF27B944B155B1440F551F440F36 |
:10093000551F493C510510F048EC50E08091720081 |
:10094000909173009C0163E0220F331F6A95E1F7D9 |
:10095000281B390B240F351F83E0369527958A9580 |
:10096000E1F730937300209372008091740099270F |
:100970008217930710F42093740016B888E080BFA4 |
:1009800008958EB5806C8EBD8EB580648EBD89B79E |
:10099000806289BF89B7846089BF08951F920F92D2 |
:1009A0000FB60F9211248F93809190008F5F8093E8 |
:1009B00090008F910F900FBE0F901F9018951F926F |
:1009C0000F920FB60F9211242F933F934F935F9383 |
:1009D0008F939F930EB406FE0FC01092900086B5C1 |
:1009E00097B590939500809394008EB58F7B8EBDC4 |
:1009F00084E6809391006EC08EB580648EBD46B54E |
:100A000057B5809190002091940030919500421B41 |
:100A1000530B9927982F8827990F480F591F5295E4 |
:100A200042954F7045275F70452750939300409340 |
:100A3000920081E04831580758F4109293001092C8 |
:100A4000920080918E0090918F0040E050E013C0A2 |
:100A500048515140509393004093920080918E00F2 |
:100A600090918F008417950730F480918E009091BB |
:100A70008F0001960CC080918E0090918F004817D6 |
:100A8000590748F480918E0090918F0001979093C0 |
:100A90008F0080938E0080918E0090918F009C013A |
:100AA000220F331F220F331F220F331F281B390B36 |
:100AB000240F351F83E0369527958A95E1F730930B |
:100AC00093002093920030938F0020938E0081E05A |
:100AD000809365009F918F915F914F913F912F91EE |
:100AE0000F900FBE0F901F9018951F920F920FB688 |
:100AF0000F9211248F938AB78F7B8ABF8F910F90AB |
:100B00000FBE0F901F9018958A5F82B985EC86BF43 |
:100B100008951F920F920FB60F9211248F939F93F7 |
:100B200081B19927887F907080389105C9F081380C |
:100B3000910534F4009791F18036910591F50AC042 |
:100B4000883B9105B9F0883F910529F1883A9105D4 |
:100B500041F510C086B7806886BF1092960023C00A |
:100B600083B18093880384EF91E090937900809320 |
:100B700078000EC080919600882339F4809175002A |
:100B800083B981E08093960003C08091640083B9AB |
:100B900086B7806807C086B7806986BF86B78069D8 |
:100BA00086BF85EC86BF9F918F910F900FBE0F90EF |
:100BB0001F9018951F920F920FB60F9211240F904D |
:100BC0000FBE0F901F90189590919700923041F1B1 |
:100BD000933030F4992361F0913009F057C014C07C |
:100BE0009430C1F1943040F1953009F04FC042C0CB |
:100BF00082EA8FBD81E685BD88E087BB82B3877DB1 |
:100C000082BB949A82E031C082EA8FBD81E685BDC5 |
:100C100088E087BB82B3877E82BB959A97B918C05C |
:100C200082EA8FBD81E485BD8CE087BB82B3877E7D |
:100C300082BB959A17B81AC082EA8FBD81E485BD40 |
:100C40008CE087BB82B38F7C82BB939A82E087B9AA |
:100C50004098089582EA8FBD81E485BD8AE087BB14 |
:100C600082B38F7C82BB939A81E087B988B183601D |
:100C700088B9089582EA8FBD81E485BD8AE087BB8B |
:100C800082B3877D82BB949A17B8409808951F92CB |
:100C90000F920FB60F9211240F931F932F933F9330 |
:100CA0004F935F936F937F938F939F93AF93BF9374 |
:100CB000EF93FF9388B19927689414F896958795D8 |
:100CC0001694E1F7082F017010919700123009F483 |
:100CD00056C0133030F4112371F0113009F0BCC04C |
:100CE00024C0143009F47EC0143008F461C01530FB |
:100CF00009F0B2C091C082EA8FBD81E685BD88E06F |
:100D000087BB002369F082B3877E82BB959A11E08E |
:100D100014BD809165008111FADD409817B91AC0A1 |
:100D200082B3877D82BB949A97C082B3877E82BB51 |
:100D3000959A0023F1F482EA8FBD81E485BD8CE0B1 |
:100D400087BB14BD809165008111E1DD17B888B1C2 |
:100D5000836088B9809197008F5F8093970080911E |
:100D60008000909181000196909381008093800093 |
:100D700073C082EA8FBD81E685BD88E06CC082EADF |
:100D80008FBD81E485BD8CE087BB002361F082B319 |
:100D90008F7C82BB939A81E084BD80916500811134 |
:100DA000B6DD17B932C082B3877E82BB959A54C034 |
:100DB00082B38F7C82BB939A002371F482EA8FBD49 |
:100DC00081E485BD8AE087BB11E014BD8091650098 |
:100DD00081119DDD17B9BBCF82EA8FBD81E485BD4E |
:100DE0008CE039C082EA8FBD81E485BD8AE087BB93 |
:100DF000002369F082B3877D82BB949A81E084BD31 |
:100E000080916500811183DD17B84098A3CF82B32C |
:100E10008F7C82BB939A20C082B3877D82BB949AD9 |
:100E20000023A1F482EA8FBD81E685BD88E087BBFF |
:100E300081E084BD80916500811169DD82E087B920 |
:100E400088B1836088B91092970089CF82EA8FBDFC |
:100E500081E485BD8AE087BB459903C0002309F082 |
:100E600029CF459B03C0002309F424CF10926500CD |
:100E7000FF91EF91BF91AF919F918F917F916F9172 |
:100E80005F914F913F912F911F910F910F900FBE46 |
:100E90000F901F901895EF92FF920F931F93CF938F |
:100EA000DF938C017B01892B11F4672BC9F16EE074 |
:100EB00070E081E090E03BD0FC01009789F1DC011B |
:100EC00080E88383E114F10471F0F386E28681E81F |
:100ED00083838091890390918A03892B21F4F09375 |
:100EE0008A03E093890301151105E1F0118700875A |
:100EF00083818260838380918B0390918C03892B03 |
:100F000089F4F0938C03E0938B0380918D0390918F |
:100F10008E03892B39F4F0938E03E0938D0302C086 |
:100F2000A0E0B0E0CD01E6E0CDB7DEB768C10F9339 |
:100F30001F93CF93DF93869F8001879F100D969F0D |
:100F4000100D1124C8010DD0EC01009721F0A8016B |
:100F500060E070E0FFD0CE01DF91CF911F910F9143 |
:100F60000895CF93DF93AC01029710F442E050E074 |
:100F7000A0919103B0919203FD01C0E0D0E020E088 |
:100F800030E020C0808191818417950769F48281C7 |
:100F90009381209719F09B838A8304C090939203D6 |
:100FA00080939103CF0132C04817590738F42115B7 |
:100FB000310519F08217930708F49C01EF010280B4 |
:100FC000F381E02D3097F1F62115310589F1C90142 |
:100FD000841B950B049708F4A901E0E0F0E026C01B |
:100FE0008D919C91119782179307E9F4481759073F |
:100FF00079F4ED018A819B81309719F09383828384 |
:1010000004C09093920380939103CD01029649C04E |
:10101000841B950BFD01E80FF91F41935193029733 |
:101020008D939C933AC0FD01A281B3811097C1F6C4 |
:1010300080918F0390919003892B41F480916B00F4 |
:1010400090916C009093900380938F0320916D009A |
:1010500030916E002115310541F42DB73EB78091D6 |
:10106000690090916A00281B390BE0918F03F09181 |
:1010700090032E1B3F0B2417350788F0CA010296F8 |
:101080002817390760F0CF01840F951F02969093BF |
:10109000900380938F0341935193CF0102C080E06E |
:1010A00090E0DF91CF910895CF93DF93009709F4FB |
:1010B0004EC0EC0122971B821A82A0919103B0913D |
:1010C0009203109711F140E050E001C0DC01AC1731 |
:1010D000BD0700F1BB83AA83FE0121913191E20F8C |
:1010E000F31FEA17FB0771F42E5F3F4F8D919C9120 |
:1010F0001197820F931F99838883FD0182819381C9 |
:101100009B838A834115510559F4D0939203C09370 |
:1011100091031DC0FD0182819381AD010097B1F65D |
:10112000FA01D383C28321913191E20FF31FEC17AF |
:10113000FD0769F42E5F3F4F88819981820F931FCD |
:10114000FA01918380838A819B8193838283DF91DB |
:10115000CF910895DC0101C06D9341505040E0F7FC |
:101160000895991B79E004C0991F961708F0961B03 |
:10117000881F7A95C9F780950895AA1BBB1B51E17A |
:1011800007C0AA1FBB1FA617B70710F0A61BB70BF7 |
:10119000881F991F5A95A9F780959095BC01CD019C |
:1011A0000895A1E21A2EAA1BBB1BFD010DC0AA1FA8 |
:1011B000BB1FEE1FFF1FA217B307E407F50720F0C0 |
:1011C000A21BB30BE40BF50B661F771F881F991F3B |
:1011D0001A9469F760957095809590959B01AC0184 |
:1011E000BD01CF0108952A88398848885F846E84BC |
:1011F0007D848C849B84AA84B984C884DF80EE803B |
:10120000FD800C811B81AA81B981CE0FD11D0FB643 |
:0E121000F894DEBF0FBECDBFED010895FFCFF5 |
:10121E000A000101FF010164642000930300000035 |
:00000001FF |
/branches/BL-Ctrl/BrushLess-Ctrl_8kHz_PWM_V0_31_4.hex |
---|
0,0 → 1,292 |
:1000000012C072C52BC02AC0D4C5D8C427C026C010 |
:10001000C4C401C423C004C321C0D1C21FC01EC0B8 |
:1000200035C676C51BC011241FBECFE5D4E0DEBFA8 |
:10003000CDBF10E0A0E6B0E0ECE1F2E102C0059037 |
:100040000D92A037B107D9F713E0A0E7B0E001C0E7 |
:100050001D92A339B107E1F73CD1DFC8D1CF209180 |
:10006000700080916400821710F4AB9A282F809161 |
:100070007200909173008338910560F01BBC1ABC2C |
:1000800019BC18BC13BCAB9A019790937300809372 |
:1000900072000895822F9927880F991F9BBD8ABDF2 |
:1000A00099BD88BD23BD089582E08FBD81E485BDE3 |
:1000B00085B3817F85BB89E08EBD089592B7980F87 |
:1000C00082B7891B87FDFCCF0895809178009091BD |
:1000D0007900892B09F04EC080917A00882371F055 |
:1000E000909186008FEF989FC001112468EC70E01A |
:1000F00043D8709385006093840044C08091910040 |
:10010000882359F120918E0030918F0041E02D32EB |
:10011000340730F4293C310540F42B30310538F4F4 |
:1001200010928500109284002CC028EC30E08CEFF7 |
:1001300090E0AC01249FC001259F900D349F900D4D |
:100140001124885D994064EB70E016D86D5F7F4F95 |
:10015000709385006093840014C080918400909116 |
:100160008500009729F00197909385008093840083 |
:10017000AB9A08C08091880399279093850080935B |
:100180008400AB9880918400909185008F3F910509 |
:1001900039F030F08FEF90E09093850080938400E9 |
:1001A0008091840099270895809172009091730046 |
:1001B00090937803809377038091750099279093AB |
:1001C0007A038093790380918200909183009093C9 |
:1001D0007C0380937B0380918E0090918F0090939D |
:1001E0007E0380937D030895AF92BF92CF92DF92FA |
:1001F000EF92FF920F931F93CF93DF93182F1092DC |
:100200009900439885E090E090937100809370008E |
:1002100026DFD9D488EC90E05ED3C12FDD27D093C0 |
:100220007100C09370004CE2A42E41E0B42EC12CAA |
:10023000D12CEE24FF2487010EC080916600882314 |
:1002400011F4C7D101C0B8D284E638DF0894E11CAC |
:10025000F11C011D111DEA14FB040C051D0569F7B5 |
:10026000C601B5012FE030E040E050E099D7A21A76 |
:10027000B30AC40AD50A0894A108B108C108D10874 |
:1002800089E1A816B104C104D104C0F09CD48091C6 |
:1002900097008F5F809397008091970066E060D70A |
:1002A0009093970033D3D0937100C0937000D7DE42 |
:1002B000449BBFCF82B3805882BBBBCFDF91CF912D |
:1002C0001F910F91FF90EF90DF90CF90BF90AF9074 |
:1002D0000895AF92BF92CF92DF92EF92FF920F9369 |
:1002E0001F93CF93DF9388E084BB85BB8AEB81BBF0 |
:1002F00080E882BB8EE087BB81E388BB77D2CED219 |
:10030000789486E990E0E7D297988AEF90E0E3D27C |
:10031000C1E0D0E0C430D10549F4979A86E990E075 |
:10032000DAD297988AEF90E0D6D20BC086E990E0B7 |
:10033000D2D297988AEF90E0CED22196C530D105DF |
:1003400049F784EF91E0C7D251D2AEDE80E5DBD32E |
:1003500017D385E690E0ABD286E690E0A8D287E698 |
:1003600090E0A5D2EC018EEF90E0A1D25C018DEE81 |
:1003700093E09DD28C018EEE93E099D26C01CE0178 |
:100380009FD28823E1F3979A109271001092700027 |
:1003900066DE88E080BF81E087B98AE090E087D29E |
:1003A000EC0181E090E090937A03809379031092BE |
:1003B0008F0010928E00EE2488DE992790937100B2 |
:1003C00080937000809197008E1551F01092630019 |
:1003D0001092620082E390E06AD2EC01E090970014 |
:1003E0008091700090917100892BC9F410927F0068 |
:1003F00010926200C80164D28823D9F0109299004B |
:10040000439881E08093630082B3877C82BB82E063 |
:100410008FBD81E485BD85B3817F85BB0EC0809192 |
:100420006300882319F081E080937F008CED95E0D4 |
:100430003ED280916300882321F0109271001092C7 |
:1004400070000DDE809162008F5F809362008130CA |
:1004500009F0B2CF809163008111979AC50130D223 |
:10046000882339F182E390E022D25C01809175000B |
:10047000482F55272091720030917300421753077F |
:1004800010F48F5F04C02417350718F4815080934F |
:1004900075008091750090916400823428F091502D |
:1004A00090936400AB9A05C09F3F19F09F5F9093B3 |
:1004B0006400C80105D2882309F18AE090E0F7D1F1 |
:1004C0008C012091800030918100C901880F991F13 |
:1004D000820F931F880F991F66E070E04DD67093CE |
:1004E00083006093820010928100109280008091BE |
:1004F0009100882319F481E080936500C601E0D162 |
:10050000882321F08CED95E0D2D16C01CE01D8D1B9 |
:10051000882331F08091820090918300892B29F00B |
:1005200080917F00882309F447CF61E0F62EF09296 |
:10053000630010929900439884E690E0B8D1EC01F2 |
:1005400080917F00882309F437CFAB9810927F0009 |
:100550008AE04ADE979A109263008091970081505A |
:100560008093970081E090E09093710080937000F9 |
:1005700076DD88B18C7F88B9F092990088B18A6065 |
:1005800088B984E690E093D1EC01CE0199D188231B |
:10059000E1F38AE090E090937100809370005FDD5A |
:1005A00088EC90E084D1EC01CE018AD18823E1F37C |
:1005B00088EE93E07CD1EC0157E0E52EFDCE1F9252 |
:1005C0000F920FB60F9211240F900FBE0F901F9035 |
:1005D00018955E9B24C0809166008823E1F4809189 |
:1005E000890090918A00019690938A0080938900F7 |
:1005F000FC01E556FD4FE081ED3019F084369105A0 |
:1006000039F410928A001092890081E0809366008C |
:10061000589AECB9089510928A00109289000895B2 |
:100620001F920F920FB60F9211248F938CB180936B |
:10063000870080918700853F19F41092670014C0ED |
:10064000809167008F5F80936700843041F48091D0 |
:1006500087008093860088EC80937A0005C08536F9 |
:1006600018F084E6809367008F910F900FBE0F9073 |
:100670001F901895DC0120E030E040E050E0EBE90D |
:10068000F2E005C08191280F311D4F5F5F4F4A177F |
:100690005B07C1F73F70C90136E0969587953A959B |
:1006A000E1F7835CFD01E556FD4F808311962F73C2 |
:1006B000235CFD01E556FD4F2083A456BD4F8DE020 |
:1006C0008C931092660080919B028CB90895EF92F2 |
:1006D000FF920F931F93CF93DF937A01722F93E2D0 |
:1006E00090939B0260939C0280939D0203E010E034 |
:1006F00060E0AEE9B2E046C0F701E60FF11D90817F |
:100700006F5F715019F4E0E040E00FC0F701E60FB1 |
:10071000F11D40816F5F715011F4E0E006C0F701F8 |
:10072000E60FF11DE0816F5F7150892F86958695E8 |
:10073000835C8C935527892F99278370907024E0D0 |
:10074000880F991F2A95E1F79A0194E0369527952D |
:100750009A95E1F7822B835CED0189834F7050708D |
:10076000440F551F440F551F8E2F829586958695F1 |
:100770008370842B835C8A83EF73E35CEB830C5F71 |
:100780001F4F1496772309F0B7CFC80173DFDF91AD |
:10079000CF911F910F91FF90EF9008951F93182F05 |
:1007A0008A3011F48DE0FADF5D9BFECF1CB980E04A |
:1007B00090E01F91089508958091FF0290910003A9 |
:1007C0007FD0882391F080916600882371F022E227 |
:1007D00045E653E060919A0284E479DF82E390E099 |
:1007E00066D0909300038093FF02089588E18AB950 |
:1007F000599A579A8CE089B960E070E08EEC93E0EA |
:1008000049D388EC90E053D0909300038093FF028B |
:100810008AE28CB908951F920F920FB60F9211249D |
:100820008F939F9380E882BF809187038F5F80932F |
:10083000870380918D00815080938D008F3F39F523 |
:1008400083E080938D0080918B0090918C000196C5 |
:1008500090938C0080938B00809178009091790028 |
:10086000009729F001979093790080937800809108 |
:100870009100882329F0809191008150809391000C |
:1008800080917A00882319F0815080937A009F919B |
:100890008F910F900FBE0F901F90189582E083BF2D |
:1008A00089B7816089BF89B7806489BF0895209125 |
:1008B0008B0030918C00280F391FC90101970895D2 |
:1008C00020918B0030918C00821B930B892F9927EC |
:1008D00080789927089520918B0030918C00280F03 |
:1008E000391F2150304080918B0090918C00A901DC |
:1008F000481B590BCA01892F992787FFF4CF089508 |
:1009000085EA86B987E087B9369A089527B196E0D7 |
:1009100097B910BE82ED86B9349A97B9369A349B4E |
:10092000FECF27B944B155B1440F551F440F551F91 |
:10093000493C510510F048EC50E0809172009091D4 |
:1009400073009C0163E0220F331F6A95E1F7281BB7 |
:10095000390B240F351F83E0369527958A95E1F7EB |
:10096000309373002093720080917400992782174E |
:10097000930710F42093740016B888E080BF0895A0 |
:100980008EB5806C8EBD8EB580648EBD89B7806259 |
:1009900089BF89B7846089BF08951F920F920FB6EF |
:1009A0000F9211248F93809190008F5F809390001D |
:1009B0008F910F900FBE0F901F9018951F920F925E |
:1009C0000FB60F9211242F933F934F935F938F9302 |
:1009D0009F930EB406FE0FC01092900086B597B597 |
:1009E00090939500809394008EB58F7B8EBD84E6A6 |
:1009F000809391006EC08EB580648EBD46B557B5AC |
:100A0000809190002091940030919500421B530BEF |
:100A10009927982F8827990F480F591F529542956B |
:100A20004F7045275F704527509393004093920085 |
:100A300081E04831580758F41092930010929200C8 |
:100A400080918E0090918F0040E050E013C048519B |
:100A50005140509393004093920080918E0090916A |
:100A60008F008417950730F480918E0090918F004D |
:100A700001960CC080918E0090918F004817590705 |
:100A800048F480918E0090918F00019790938F0091 |
:100A900080938E0080918E0090918F009C01220F98 |
:100AA000331F220F331F220F331F281B390B240F34 |
:100AB000351F83E0369527958A95E1F730939300AB |
:100AC0002093920030938F0020938E0081E08093DA |
:100AD00065009F918F915F914F913F912F910F9062 |
:100AE0000FBE0F901F9018951F920F920FB60F9286 |
:100AF00011248F938AB78F7B8ABF8F910F900FBE7F |
:100B00000F901F901895885F82B985EC86BF089575 |
:100B10001F920F920FB60F9211248F939F9381B162 |
:100B20009927887F907080389105C9F081389105A8 |
:100B300034F4009791F18036910591F50AC0883B15 |
:100B40009105B9F0883F910529F1883A910541F561 |
:100B500010C086B7806886BF1092960023C083B10C |
:100B60008093880384EF91E09093790080937800DC |
:100B70000EC080919600882339F48091750083B966 |
:100B800081E08093960003C08091640083B986B7AA |
:100B9000806807C086B7806986BF86B7806986BFD0 |
:100BA00085EC86BF9F918F910F900FBE0F901F9085 |
:100BB00018951F920F920FB60F9211240F900FBE2F |
:100BC0000F901F90189590919700923041F19330BB |
:100BD00030F4992361F0913009F057C014C094307B |
:100BE000C1F1943040F1953009F04FC042C082EA23 |
:100BF0008FBD81E685BD88E087BB82B3877D82BBE0 |
:100C0000949A82E031C082EA8FBD81E685BD88E09A |
:100C100087BB82B3877E82BB959A97B918C082EA58 |
:100C20008FBD81E485BD8CE087BB82B3877E82BBAC |
:100C3000959A17B81AC082EA8FBD81E485BD8CE011 |
:100C400087BB82B38F7C82BB939A82E087B940983E |
:100C5000089582EA8FBD81E485BD8AE087BB82B3B7 |
:100C60008F7C82BB939A81E087B988B1836088B911 |
:100C7000089582EA8FBD81E485BD8AE087BB82B397 |
:100C8000877D82BB949A17B8409808951F920F925F |
:100C90000FB60F9211240F931F932F933F934F93EF |
:100CA0005F936F937F938F939F93AF93BF93EF93D4 |
:100CB000FF9388B19927689414F8969587951694B0 |
:100CC000E1F7082F017010919700123009F456C017 |
:100CD000133030F4112371F0113009F0BCC024C07E |
:100CE000143009F47EC0143008F461C0153009F0E6 |
:100CF000B2C091C082EA8FBD81E685BD88E087BB26 |
:100D0000002369F082B3877E82BB959A11E014BDFF |
:100D1000809165008111FADD409817B91AC082B33D |
:100D2000877D82BB949A97C082B3877E82BB959A57 |
:100D30000023F1F482EA8FBD81E485BD8CE087BB9E |
:100D400014BD809165008111E1DD17B888B1836021 |
:100D500088B9809197008F5F809397008091800081 |
:100D6000909181000196909381008093800073C0E0 |
:100D700082EA8FBD81E685BD88E06CC082EA8FBDC6 |
:100D800081E485BD8CE087BB002361F082B38F7C5A |
:100D900082BB939A81E084BD809165008111B6DDAC |
:100DA00017B932C082B3877E82BB959A54C082B392 |
:100DB0008F7C82BB939A002371F482EA8FBD81E419 |
:100DC00085BD8AE087BB11E014BD8091650081116B |
:100DD0009DDD17B9BBCF82EA8FBD81E485BD8CE074 |
:100DE00039C082EA8FBD81E485BD8AE087BB0023DC |
:100DF00069F082B3877D82BB949A81E084BD809143 |
:100E00006500811183DD17B84098A3CF82B38F7C32 |
:100E100082BB939A20C082B3877D82BB949A0023C1 |
:100E2000A1F482EA8FBD81E685BD88E087BB81E0C1 |
:100E300084BD80916500811169DD82E087B988B148 |
:100E4000836088B91092970089CF82EA8FBD81E4D0 |
:100E500085BD8AE087BB459903C0002309F029CFEF |
:100E6000459B03C0002309F424CF10926500FF9135 |
:100E7000EF91BF91AF919F918F917F916F915F9112 |
:100E80004F913F912F911F910F910F900FBE0F9097 |
:100E90001F901895EF92FF920F931F93CF93DF93BC |
:100EA0008C017B01892B11F4672BC9F16EE070E096 |
:100EB00081E090E03BD0FC01009789F1DC0180E803 |
:100EC0008383E114F10471F0F386E28681E8838381 |
:100ED0008091890390918A03892B21F4F0938A03EE |
:100EE000E093890301151105E1F0118700878381E3 |
:100EF0008260838380918B0390918C03892B89F48A |
:100F0000F0938C03E0938B0380918D0390918E037B |
:100F1000892B39F4F0938E03E0938D0302C0A0E097 |
:100F2000B0E0CD01E6E0CDB7DEB768C10F931F9307 |
:100F3000CF93DF93869F8001879F100D969F100DA2 |
:100F40001124C8010DD0EC01009721F0A80160E048 |
:100F500070E0FFD0CE01DF91CF911F910F910895E6 |
:100F6000CF93DF93AC01029710F442E050E0A091E0 |
:100F70009103B0919203FD01C0E0D0E020E030E0A9 |
:100F800020C0808191818417950769F482819381C3 |
:100F9000209719F09B838A8304C0909392038093D7 |
:100FA0009103CF0132C04817590738F42115310594 |
:100FB00019F08217930708F49C01EF010280F38176 |
:100FC000E02D3097F1F62115310589F1C901841B17 |
:100FD000950B049708F4A901E0E0F0E026C08D919C |
:100FE0009C91119782179307E9F44817590779F4F0 |
:100FF000ED018A819B81309719F09383828304C02D |
:101000009093920380939103CD01029649C0841B73 |
:10101000950BFD01E80FF91F4193519302978D93B2 |
:101020009C933AC0FD01A281B3811097C1F68091D3 |
:101030008F0390919003892B41F480916B009091E4 |
:101040006C009093900380938F0320916D003091FA |
:101050006E002115310541F42DB73EB7809169002E |
:1010600090916A00281B390BE0918F03F091900357 |
:101070002E1B3F0B2417350788F0CA01029628174C |
:10108000390760F0CF01840F951F0296909390036B |
:1010900080938F0341935193CF0102C080E090E091 |
:1010A000DF91CF910895CF93DF93009709F44EC05D |
:1010B000EC0122971B821A82A0919103B0919203B6 |
:1010C000109711F140E050E001C0DC01AC17BD0702 |
:1010D00000F1BB83AA83FE0121913191E20FF31F3E |
:1010E000EA17FB0771F42E5F3F4F8D919C9111978A |
:1010F000820F931F99838883FD01828193819B8353 |
:101100008A834115510559F4D0939203C0939103FA |
:101110001DC0FD0182819381AD010097B1F6FA01F6 |
:10112000D383C28321913191E20FF31FEC17FD07A6 |
:1011300069F42E5F3F4F88819981820F931FFA01D6 |
:10114000918380838A819B8193838283DF91CF9176 |
:101150000895DC0101C06D9341505040E0F70895BF |
:10116000991B79E004C0991F961708F0961B881FF9 |
:101170007A95C9F780950895AA1BBB1B51E107C05A |
:10118000AA1FBB1FA617B70710F0A61BB70B881F17 |
:10119000991F5A95A9F780959095BC01CD010895A6 |
:1011A000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F6B |
:1011B000EE1FFF1FA217B307E407F50720F0A21BDD |
:1011C000B30BE40BF50B661F771F881F991F1A944A |
:1011D00069F760957095809590959B01AC01BD0174 |
:1011E000CF0108952A88398848885F846E847D8479 |
:1011F0008C849B84AA84B984C884DF80EE80FD80BF |
:101200000C811B81AA81B981CE0FD11D0FB6F89434 |
:0C121000DEBF0FBECDBFED010895FFCF83 |
:10121C000A000101FF010164642000930300000037 |
:00000001FF |
/branches/BL-Ctrl/PPM_Decode.c |
---|
0,0 → 1,76 |
/*############################################################################ |
+ Regler für Brushless-Motoren |
+ ATMEGA8 mit 8MHz |
+ (c) 01.2007 Holger Buss |
+ Nur für den privaten Gebrauch |
+ Keine Garantie auf Fehlerfreiheit |
+ Kommerzielle Nutzung nur mit meiner Zustimmung |
+ Der Code ist für die Hardware BL_Ctrl V1.0 entwickelt worden |
+ www.mikrocontroller.com |
############################################################################*/ |
#include "main.h" |
volatile unsigned int PPM_Signal = 0; |
volatile unsigned char Timer1Overflow = 0; |
volatile unsigned char PPM_Timeout = 0; // Ungültig, wenn Null |
//############################################################################ |
// |
void InitPPM(void) |
//############################################################################ |
{ |
TCCR1B |= (1<<ICES1)|(1<<ICNC1); |
ICP_POS_FLANKE; |
ICP_INT_ENABLE; |
TIMER1_INT_ENABLE; |
} |
//############################################################################ |
// |
SIGNAL(SIG_OVERFLOW1) |
//############################################################################ |
{ |
Timer1Overflow++; |
} |
//############################################################################ |
// |
SIGNAL(SIG_INPUT_CAPTURE1) |
//############################################################################ |
{ |
static unsigned int tim_alt; |
static unsigned int ppm; |
if(TCCR1B & (1<<ICES1)) // Positive Flanke |
{ |
Timer1Overflow = 0; |
tim_alt = ICR1; |
ICP_NEG_FLANKE; |
PPM_Timeout = 100; |
} |
else // Negative Flanke |
{ |
ICP_POS_FLANKE; |
#ifdef _32KHZ |
ppm = (ICR1 - tim_alt + (int) Timer1Overflow * 256) / 16; |
#endif |
#ifdef _16KHZ |
ppm = (ICR1 - tim_alt + (int) Timer1Overflow * 512) / 16; |
#endif |
if(ppm < 280) ppm = 280; |
ppm -= 280; |
if(PPM_Signal < ppm) PPM_Signal++; |
else if(PPM_Signal > ppm) PPM_Signal--; |
if(FILTER_PPM) ppm = (PPM_Signal * FILTER_PPM + ppm) / (FILTER_PPM + 1); // Filtern |
PPM_Signal = ppm; |
ZeitZumAdWandeln = 1; |
} |
} |
//############################################################################ |
// |
SIGNAL(SIG_INTERRUPT0) |
//############################################################################ |
{ |
CLR_INT0_FLAG; // IntFlag Loeschen |
} |
/branches/BL-Ctrl/PPM_Decode.h |
---|
0,0 → 1,27 |
/*############################################################################ |
############################################################################*/ |
extern volatile unsigned int PPM_Signal; |
extern volatile unsigned char PPM_Timeout; |
void InitPPM(void); |
#define INT0_ENABLE GIMSK |= 0x40 |
#define INT0_DISABLE GIMSK &= ~0x40 |
#define TIM0_START TIMSK |= 0x01 |
#define TIM0_STOPP TIMSK &= ~0x01 |
#define ICP_INT_ENABLE TIMSK |= 0x20 |
#define ICP_INT_DISABLE TIMSK &= ~0x20 |
#define TIMER1_INT_ENABLE TIMSK |= 0x04 |
#define TIMER1_INT_DISABLE TIMSK &= ~0x04 |
#define TIMER2_INT_ENABLE TIMSK |= 0x40 |
#define TIMER2_INT_DISABLE TIMSK &= ~0x40 |
#define INT0_POS_FLANKE MCUCR |= 0x01 |
#define INT0_ANY_FLANKE MCUCR |= 0x01 |
#define INT0_NEG_FLANKE MCUCR &= ~0x01 |
#define CLR_INT0_FLAG GIFR &= ~0x40 |
#define INIT_INT0_FLANKE MCUCR &= ~0x03; MCUCR |= 0x02; |
#define TIMER0_PRESCALER TCCR0 |
#define ICP_POS_FLANKE TCCR1B |= (1<<ICES1) |
#define ICP_NEG_FLANKE TCCR1B &= ~(1<<ICES1) |
/branches/BL-Ctrl/README.TXT |
---|
0,0 → 1,10 |
Nicht vergessen: |
ATmega8 auf 4 MHz stellen: |
Fusebits: |
CKSEL3: on |
CKSEL2: on |
CKSEL1: off |
CKSEL0: off |
/branches/BL-Ctrl/analog.c |
---|
0,0 → 1,39 |
/*############################################################################ |
############################################################################*/ |
#include "main.h" |
//############################################################################ |
//Init ADC |
void ADC_Init(void) |
//############################################################################ |
{ |
ADCSRA = 0xA5; // Free Run, 125 kHZ |
ADMUX = 7; // Kanal 7 |
ADCSRA |= 0x40; // Start |
} |
//############################################################################ |
//Strom Analogwerte lesen |
void AdConvert(void) |
//############################################################################ |
{ |
unsigned int i=0; |
unsigned char sense; |
sense = ADMUX; // Sense-Kanal merken |
ADMUX = 0x06; // Kanal 6 |
SFIOR = 0x00; // Analog Comperator aus |
ADCSRA = 0xD2; // Converter ein, single, 1 MHz |
ADCSRA |= 0x10; // Ready löschen |
ADMUX = 0x06; // Kanal 6 |
ADCSRA |= 0x40; // Start |
while (((ADCSRA & 0x10) == 0)); |
ADMUX = sense; // zurück auf den Sense-Kanal |
i = ADCW * 4; |
if(i > 200) i = 200; |
Strom = (i + Strom * 7) / 8; |
if (Strom_max < Strom) Strom_max = Strom; |
ADCSRA = 0x00; |
SFIOR = 0x08; // Analog Comperator ein |
} |
/branches/BL-Ctrl/analog.h |
---|
0,0 → 1,5 |
extern void ADC_Init(void); |
extern void GetAnalogWerte(void); |
extern void AdConvert(void); |
/branches/BL-Ctrl/avr.pjt |
---|
0,0 → 1,199 |
;Codewright Project File (do not remove or modify this line) |
[ProjInit] |
ConfigSetExtMode=2 |
ProjSetConfigFlags=0x04110940 |
[State] |
SysSetCwd='C:\WinAVR\Projects\Flug\Flight-Ctrl_V0_22' |
SrchSetFlags=0x0005600a |
SrchSetAgainFlags=0x04056004,0 |
SrchSetAgainFlags=0x02056008,1 |
SrchSetAttrElements= |
SrchSetAgainAttrElements= |
FileSortMode=0x0 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\PPM_Decode.c',81,81,1058,605,-1,-1,29,16,2,1,12,'',0x00100008,0,80,0,0,'',0,12 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\main.c',135,135,1058,605,-1,-1,276,8,254,1,3,'',0x00100008,0,80,0,0,'',0,3 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\BLMC.c',0,0,1165,490,-1,-1,1,1,1,1,5,'',0x00100008,0,80,0,0,'',0,5 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\BLMC.h',27,27,1165,490,-1,-1,46,1,26,1,9,'',0x00100008,0,80,0,0,'',0,9 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\timer0.c',135,135,1058,605,-1,-1,30,31,1,1,7,'',0x00100008,0,80,0,0,'',0,7 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\twislave.c',162,162,1058,605,-1,-1,117,1,104,1,8,'',0x00100008,0,80,0,0,'',0,8 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\uart.h',189,189,1058,605,-1,-1,30,5,1,1,2,'',0x00100008,0,80,0,0,'',0,2 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\analog.h',216,216,1058,605,-1,-1,2,1,1,1,14,'',0x00100008,0,80,0,0,'',0,14 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\main.h',243,243,1058,605,-1,-1,30,30,1,1,1,'',0x00100018,0,80,0,0,'',0,1 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\old_macros.h',270,270,1058,605,-1,-1,1,1,1,1,15,'',0x00100008,0,80,0,0,'',0,15 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\PPM_Decode.h',0,0,1058,605,-1,-1,13,9,1,1,10,'',0x00100008,0,80,0,0,'',0,10 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\timer0.h',54,54,1058,605,-1,-1,10,4,1,1,11,'',0x00100008,0,80,0,0,'',0,11 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\twislave.h',81,81,1058,605,-1,-1,1,1,1,1,16,'',0x00100008,0,80,0,0,'',0,16 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\makefile',108,108,1058,605,-1,-1,6,1,1,1,6,'',0x00100008,0,80,0,0,'',0,6 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\uart.c',0,0,1058,605,-1,-1,161,1,139,1,4,'',0x00100008,0,80,0,0,'',0,4 |
_StateView='C:\WinAVR\Projects\Flug\BL_MC_0_27\analog.c',27,27,1058,605,-1,-1,30,48,1,1,13,'',0x00100008,0,80,0,0,'',0,13 |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\PPM_Decode.c',0x0400048e,29,16,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\main.c',0x0400048e,276,8,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\BLMC.c',0x0000048e,1,1,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\BLMC.h',0x0400048e,46,1,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\timer0.c',0x0400048e,30,31,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\twislave.c',0x0400048e,117,1,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\uart.h',0x0400048e,30,5,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\analog.h',0x0400048e,2,1,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\main.h',0x0c00048e,30,30,25,'5 9','',0x0,'',1,72,1,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\old_macros.h',0x0000048e,1,1,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\PPM_Decode.h',0x0400048e,13,9,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\timer0.h',0x0c00048e,10,4,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\twislave.h',0x0000048e,1,1,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\makefile',0x0400048e,6,1,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\uart.c',0x0400048e,161,1,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateBuffer='C:\WinAVR\Projects\Flug\BL_MC_0_27\analog.c',0x0c00048e,30,48,25,'5 9','',0x0,'',1,72,0,0,'' |
_StateHistory=FILELIST,'C:\WinAVR\Projects\Flug\BL_MC_0_27\old_macros.h','C:\WinAVR\Projects\Flug\BL_MC_0_27\PPM_Decode.h','C:\WinAVR\Projects\Flug\BL_MC_0_27\printf_P.h','C:\WinAVR\Projects\Flug\BL_MC_0_27\timer0.h','C:\WinAVR\Projects\Flug\BL_MC_0_27\twislave.h','C:\WinAVR\Projects\Flug\BL_MC_0_27\makefile','C:\WinAVR\Projects\Flug\BL_MC_0_27\main.c','C:\WinAVR\Projects\Flug\BL_MC_0_27\BLMC.c','C:\WinAVR\Projects\Flug\BL_MC_0_27\BLMC.h' |
_StateHistory=SEARCH,'ClrSENSE()','GRUEN','MANUELL_PWM','ENABLE_SENSE_INT','ACSR','GRUE','MotorGestoppt','MotorAnwerfen','SIO_DEBUG','X3D_SIO' |
_StateHistory=REPLACE,'DebugDisplayZeilenAnforderung','SollPeriodendauer','TestschubTimer','SENSE_h','SENSE_L','SENSE_H','SENSE__FALLING_INT','SENSE_RISING_INT','SENSE_FALLING_INT' |
_StateHistory=EDITFILE,'C:\WinAVR\Projects\Flug\BL_MC_0_27\PPM_Decode.h','C:\WinAVR\Projects\Flug\BL_MC_0_27\printf_P.h','C:\WinAVR\Projects\Flug\BL_MC_0_27\timer0.h','C:\WinAVR\Projects\Flug\BL_MC_0_27\twislave.h','C:\WinAVR\Projects\Flug\BL_MC_0_27\main.c','C:\WinAVR\Projects\Flug\BL_MC_0_27\makefile','C:\WinAVR\Projects\Flug\Flight-Ctrl_V0_05\AVR.pjt','C:\WinAVR\Projects\Flug\Flight-Ctrl_V0_06\Main.psp','C:\compiler\M16C\UniversalGateway\UN_DP_V1_25\m16C.psp','C:\WinAVR\Projects\Flug\Flight-Ctrl_V0_22\Main.psp' |
_StateHistory=DOCUMENTVISIT,'14 18 C:\WinAVR\Projects\Flug\BL_MC_0_27\main.h','276 8 C:\WinAVR\Projects\Flug\BL_MC_0_27\main.c','15 16 C:\WinAVR\Projects\Flug\BL_MC_0_27\main.h','161 1 C:\WinAVR\Projects\Flug\BL_MC_0_27\uart.c','33 5 C:\WinAVR\Projects\Flug\BL_MC_0_27\uart.h','30 30 C:\WinAVR\Projects\Flug\BL_MC_0_27\main.h','33 5 C:\WinAVR\Projects\Flug\BL_MC_0_27\uart.h','30 30 C:\WinAVR\Projects\Flug\BL_MC_0_27\main.h','276 8 C:\WinAVR\Projects\Flug\BL_MC_0_27\main.c','33 5 C:\WinAVR\Projects\Flug\BL_MC_0_27\uart.h' |
_StateDocumentVisit=10 |
[Editor] |
_RestoreSysFlags=0x43097fca, 0xfffffffc, 0 |
FilterProjDeleteList |
FilterProjAdd='Source Files','*.c;*.cc;*.cpp;*.cxx;*.ic;*.c96;*.fle;*.cmp;*.asm;*.src;*.s;*.a96;*.i;*.pcp',-1 |
FilterProjAdd='Header Files','*.h;*.inc;*.sfr',-1 |
FilterProjAdd='Project Files','*.pjt',-1 |
FilterProjAdd='Resources','*.rc;*.bmp;*.ico;*.cur;*.dlg',-1 |
FilterProjAdd='Other Files','*.*',-1 |
VCSProject='' |
VCSProjectPath='' |
VCSProjectLocalPath='' |
ScrapSetCount=1 |
ClipboardSetCount=1 |
ClipboardEnableSepStr=1 |
ClipboardSetSepStr='\r\n',0 |
ClipboardEnableTermStr=1 |
ClipboardSetTermStr='\r\n',0 |
[Tools] |
ToolDeleteList |
ToolAddCmd='$_custom_tool_$_1','API Database Editor',1342177312,'cwtedit.exe' |
ToolAddCmd='$_custom_tool_$_2','Paint',1342177713,'make.exe program' |
ToolAddCmd='$_custom_tool_$_3','Build all',1342177680,'make.exe all' |
ToolAddCmd='$_custom_tool_$_4','Bulid Clean',1342177680,'make.exe clean' |
[Compiler] |
CompilerAssign='TASKING src','.src' |
CompilerNewExt=.htm |
CompilerNewExt=.v |
CompilerNewExt=.awk |
CompilerNewExt=.bas |
CompilerAssign='TASKING c','.c' |
CompilerNewExt=.adb |
CompilerNewExt=.cfml |
CompilerNewExt=.jsp |
CompilerNewExt=.pl |
CompilerNewExt=.vhd |
CompilerNewExt=.pas |
CompilerNewExt=.tk |
CompilerNewExt=.asp |
CompilerNewExt=.rul |
CompilerNewExt=.cob |
CompilerNewExt=.js |
CompilerNewExt=.php |
CompilerNewExt=.rc |
CompilerNewExt=.tcl |
CompilerAssign='TASKING cc','.cc' |
CompilerAssign='TASKING fle','.fle' |
CompilerNewExt=.ini |
CompilerAssign='TASKING ic','.ic' |
CompilerNewExt=.cs |
CompilerNewExt=.bat |
CompilerNewExt=.html |
CompilerAssign='TASKING cpp','.cpp' |
CompilerAssign='TASKING cxx','.cxx' |
CompilerAssign='TASKING asm','.asm' |
CompilerNewExt=.txt |
CompilerNewExt=.nrx |
CompilerNewExt=.java |
CompilerNewExt=.sqlj |
CompilerNewExt=.xml |
TagSetCmd='"${HOME}${WTAGS}" -oc -d -t"${TAGFILE}.tag" -p"${TAGFILE}.ptg"',0x8000060 |
BrowseSetFile='C:\Cw32_M16\tagfile.ptg' |
TagSetFile='C:\Cw32_M16\tagfile.tag' |
[VersionControl:PVCS] |
VCSSetCmd=VCS_CHECKIN_ID,'put -n -T@"%Q" -M@"%Q" "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKINLOCK_ID,'put -n -T@"%Q" -M@"%Q" -l "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKOUT_ID,'get -y "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKOUTLOCK_ID,'get -y -l "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKLOCK_ID,'vcs -y -l "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKUNLOCK_ID,'vcs -y -u "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKLABEL_ID,'vcs -y -v"${VCSLABEL}" "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKLOG_ID,'vlog "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKPROP_ID,'vlog -b "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKDIFF_ID,'vdiff -r "%b%e"',0x8000040 |
VCSSetCmd=VCS_CHECKMENU_ID,'pvcsvmwn',0x8000000 |
VCSSetCmd=VCS_ADD_ID,'vcs -i -t@"%Q" "%b%e"',0x8000040 |
VCSSetCmd=VCS_REMOVE_ID,'del /f "%b%{??v|___}e"',0x8000040 |
[Project] |
ConfigSetUserMakefile='' |
ConfigSetUserMakefileParser='' |
ConfigSetUserMakefileTimeStamp=0 |
ConfigSetUserMakefileAutoSync=0 |
ConfigSetLinkDBFilename='C:\Cw32\cwright.ldb' |
ConfigSetMarkDBFilename='C:\Cw32\cwright.mrk' |
ConfigSetSymbolDBFilename='C:\WinAVR\Projects\Flug\BL_MC_0_01\avr.sbl' |
EditSetPath='' |
[Files] |
.\uart.c |
.\analog.c |
.\interrupt4.c |
.\main.c |
.\PPM_Decode.c |
.\printf_P.c |
.\timer0.c |
.\twislave.c |
.\uart.h |
.\analog.h |
.\main.h |
.\old_macros.h |
.\PPM_Decode.h |
.\printf_P.h |
.\timer0.h |
.\twislave.h |
.\makefile |
[Ede] |
Toolchain=c:\c166\etc\c166.dol |
ToolchainName=TASKING C for C166/ST10 v6.0 r4 |
ProjectDir=C:\WinAVR\Projects\Flug\BL_MC_0_27 |
UserMode=Expert |
EdeVersion=2.7r5 (094) |
CodeWrightVersion=7.0 |
DefBuildSettings=True |
SaveFiles=True |
ScanDependencies=False |
StopAfterError=True |
KeepTmpFiles=False |
ExtMakefile=False |
ExtMakefileName= |
UseMakeOptions=False |
MakeOptions= |
ShowOptions=False |
ExtDebugger=False |
ExtDebuggerName= |
UseDOSShell=False |
SaveOptionMethod=0 |
SaveOptionFileName= |
LoadOptionFileName= |
LoadOptionStartup=False |
GroupList= |
[Directories] |
Executables=c:\c166\bin |
Includes=c:\c166\include |
Libraries=c:\c166\lib |
[DefaultOptions] |
CpuRwdc=CpuRwdcDelay |
OptionList=CpuRwdc |
[Options] |
FileList= |
/branches/BL-Ctrl/main.c |
---|
0,0 → 1,349 |
/*############################################################################ |
+ Regler für Brushless-Motoren |
+ ATMEGA8 mit 8MHz |
+ (c) 01.2007 Holger Buss |
+ Nur für den privaten Gebrauch |
+ Keine Garantie auf Fehlerfreiheit |
+ Kommerzielle Nutzung nur mit meiner Zustimmung |
+ Der Code ist für die Hardware BL_Ctrl V1.0 entwickelt worden |
+ www.mikrocontroller.com |
/############################################################################*/ |
#include "main.h" |
unsigned int PWM = 0; |
unsigned int Strom = 0; //ca. in 0,1A |
unsigned char Strom_max = 0; |
unsigned char Mittelstrom = 0; |
unsigned int Drehzahl = 0; // in 100UPM 60 = 6000 |
unsigned int KommutierDelay = 10; |
unsigned int I2C_Timeout = 0; |
unsigned char SIO_Timeout = 0; |
unsigned int SollDrehzahl = 0; |
unsigned int IstDrehzahl = 0; |
unsigned int DrehZahlTabelle[256];//vorberechnete Werte zur Drehzahlerfassung |
unsigned char ZeitFuerBerechnungen = 1; |
unsigned char MotorAnwerfen = 0; |
unsigned char MotorGestoppt = 1; |
unsigned char MaxPWM = MAX_PWM; |
unsigned int CntKommutierungen = 0; |
unsigned int SIO_Drehzahl = 0; |
unsigned char ZeitZumAdWandeln = 1; |
//############################################################################ |
// |
void SetPWM(void) |
//############################################################################ |
{ |
unsigned char tmp_pwm; |
tmp_pwm = PWM; |
if(tmp_pwm > MaxPWM) // Strombegrenzung |
{ |
tmp_pwm = MaxPWM; |
PORTC |= ROT; |
} |
if(Strom > MAX_STROM) // Strombegrenzung |
{ |
OCR1A = 0; OCR1B = 0; OCR2 = 0; |
PORTC |= ROT; |
Strom--; |
} |
else |
{ |
#ifdef _32KHZ |
OCR1A = tmp_pwm; OCR1B = tmp_pwm; OCR2 = tmp_pwm; |
#endif |
#ifdef _16KHZ |
OCR1A = 2 * (int)tmp_pwm; OCR1B = 2 * (int)tmp_pwm; OCR2 = tmp_pwm; |
#endif |
} |
} |
//############################################################################ |
// |
void PWM_Init(void) |
//############################################################################ |
{ |
PWM_OFF; |
TCCR1B = (1 << CS10) | (0 << CS11) | (0 << CS12) | (1 << WGM12) | |
(0 << WGM13) | (0<< ICES1) | (0 << ICNC1); |
} |
//############################################################################ |
// |
void Wait(unsigned char dauer) |
//############################################################################ |
{ |
dauer = (unsigned char)TCNT0 + dauer; |
while((TCNT0 - dauer) & 0x80); |
} |
//############################################################################ |
// |
void Anwerfen(unsigned char pwm) |
//############################################################################ |
{ |
unsigned long timer = 300,i; |
DISABLE_SENSE_INT; |
PWM = 5; |
SetPWM(); |
Manuell(); |
Delay_ms(200); |
PWM = pwm; |
while(1) |
{ |
for(i=0;i<timer; i++) |
{ |
if(!UebertragungAbgeschlossen) SendUart(); |
else DatenUebertragung(); |
Wait(100); // warten |
} |
timer-= timer/15+1; |
if(timer < 25) { if(TEST_MANUELL) timer = 25; else return; } |
Manuell(); |
Phase++; |
Phase %= 6; |
AdConvert(); |
PWM = pwm; |
SetPWM(); |
if(SENSE) |
{ |
PORTD ^= GRUEN; |
} |
} |
} |
//############################################################################ |
// |
unsigned char SollwertErmittlung(void) |
//############################################################################ |
{ |
static unsigned int sollwert = 0; |
unsigned int ppm; |
if(!I2C_Timeout) // bei Erreichen von 0 ist der Wert ungültig |
{ |
if(SIO_Timeout) // es gibt gültige SIO-Daten |
{ |
sollwert = (MAX_PWM * (unsigned int) SIO_Sollwert) / 200; // skalieren auf 0-200 = 0-255 |
} |
else |
if(PPM_Timeout) // es gibt gültige PPM-Daten |
{ |
ppm = PPM_Signal; |
if(ppm > 300) ppm = 0; // ungültiges Signal |
if(ppm > 200) ppm = 200; |
if(ppm <= MIN_PPM) sollwert = 0; |
else |
{ |
sollwert = (int) MIN_PWM + ((MAX_PWM - MIN_PWM) * (ppm - MIN_PPM)) / (190 - MIN_PPM); |
} |
PORTC &= ~ROT; |
} |
else // Kein gültiger Sollwert |
{ |
if(!TEST_SCHUB) { if(sollwert) sollwert--; } |
PORTC |= ROT; |
} |
} |
else // I2C-Daten sind gültig |
{ |
sollwert = I2C_RXBuffer; |
PORTC &= ~ROT; |
} |
if(sollwert > MAX_PWM) sollwert = MAX_PWM; |
return(sollwert); |
} |
void DebugAusgaben(void) |
{ |
DebugOut.Analog[0] = Strom; |
DebugOut.Analog[1] = Mittelstrom; |
DebugOut.Analog[2] = SIO_Drehzahl; |
DebugOut.Analog[3] = PPM_Signal; |
} |
//############################################################################ |
//Hauptprogramm |
int main (void) |
//############################################################################ |
{ |
char altPhase = 0; |
int test = 0; |
unsigned int MinUpmPulse,Blink,TestschubTimer; |
unsigned int Blink2,MittelstromTimer,DrehzahlMessTimer,MotorGestopptTimer; |
DDRC = 0x08; |
PORTC = 0x08; |
DDRD = 0xBA; |
PORTD = 0x80; |
DDRB = 0x0E; |
PORTB = 0x31; |
UART_Init(); |
Timer0_Init(); |
sei ();//Globale Interrupts Einschalten |
// Am Blinken erkennt man die richtige Motoradresse |
for(test=0;test<5;test++) |
{ |
if(test == MOTORADRESSE) PORTD |= GRUEN; |
Delay_ms(150); |
PORTD &= ~GRUEN; |
Delay_ms(250); |
} |
Delay_ms(500); |
UART_Init(); |
PWM_Init(); |
InitIC2_Slave(0x50); |
InitPPM(); |
Blink = SetDelay(101); |
Blink2 = SetDelay(102); |
MinUpmPulse = SetDelay(103); |
MittelstromTimer = SetDelay(254); |
DrehzahlMessTimer = SetDelay(1005); |
TestschubTimer = SetDelay(1006); |
while(!CheckDelay(MinUpmPulse)); |
PORTD |= GRUEN; |
PWM = 0; |
SetPWM(); |
SFIOR = 0x08; // Analog Comperator ein |
ADMUX = 1; |
MinUpmPulse = SetDelay(10); |
DebugOut.Analog[1] = 1; |
PPM_Signal = 0; |
// zum Test der Hardware; Motor dreht mit konstanter Drehzahl ohne Regelung |
if(TEST_MANUELL) Anwerfen(TEST_MANUELL); // kommt von dort nicht wieder |
while (1) |
{ |
if(!TEST_SCHUB) PWM = SollwertErmittlung(); |
//I2C_TXBuffer = PWM; // Antwort über I2C-Bus |
if(MANUELL_PWM) PWM = MANUELL_PWM; |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
if(Phase != altPhase) // es gab eine Kommutierung im Interrupt |
{ |
MotorGestoppt = 0; |
ZeitFuerBerechnungen = 0; // direkt nach einer Kommutierung ist Zeit |
MinUpmPulse = SetDelay(50); // Timeout, falls ein Motor stehen bleibt |
altPhase = Phase; |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
if(!PWM) // Sollwert == 0 |
{ |
MotorAnwerfen = 0; // kein Startversuch |
ZeitFuerBerechnungen = 0; |
// nach 1,5 Sekunden den Motor als gestoppt betrachten |
if(CheckDelay(DrehzahlMessTimer)) |
{ |
DISABLE_SENSE_INT; |
MotorGestoppt = 1; |
STEUER_OFF; |
} |
} |
else |
{ |
if(MotorGestoppt) MotorAnwerfen = 1; // Startversuch |
MotorGestopptTimer = SetDelay(1500); |
} |
if(MotorGestoppt && !TEST_SCHUB) PWM = 0; |
SetPWM(); |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
if(!ZeitFuerBerechnungen++) |
{ |
if(MotorGestoppt) PORTD |= GRUEN; //else PORTD &= ~GRUEN; |
if(SIO_DEBUG) |
{ |
DebugAusgaben(); // welche Werte sollen angezeigt werden? |
if(!UebertragungAbgeschlossen) SendUart(); |
else DatenUebertragung(); |
} |
// Berechnen des Mittleren Stroms zur (langsamen) Strombegrenzung |
if(CheckDelay(MittelstromTimer)) |
{ |
MittelstromTimer = SetDelay(50); // alle 50ms |
if(Mittelstrom < Strom) Mittelstrom++;// Mittelwert des Stroms bilden |
else if(Mittelstrom > Strom) Mittelstrom--; |
if(Mittelstrom > LIMIT_STROM)// Strom am Limit? |
{ |
MaxPWM--;// dann die Maximale PWM herunterfahren |
PORTC |= ROT; |
} |
else |
{ |
if(MaxPWM < MAX_PWM) MaxPWM++; |
} |
} |
if(CheckDelay(DrehzahlMessTimer)) // Ist-Drehzahl bestimmen |
{ |
DrehzahlMessTimer = SetDelay(10); |
SIO_Drehzahl = (6 * CntKommutierungen) / (POLANZAHL / 2); |
CntKommutierungen = 0; |
if(PPM_Timeout == 0) // keine PPM-Signale |
ZeitZumAdWandeln = 1; |
} |
if(CheckDelay(TestschubTimer)) |
{ |
TestschubTimer = SetDelay(1500); |
if(TEST_SCHUB) |
{ |
switch(test) |
{ |
case 0: PWM = 50; test++; break; |
case 1: PWM = 60; test++; break; |
case 2: PWM = 128; test++; break; |
case 3: PWM = 200; test++; break; |
case 4: PWM = 255; test = 0; break; |
default: test = 0; |
} |
} |
} |
// Motor Stehen geblieben |
if((CheckDelay(MinUpmPulse) && SIO_Drehzahl == 0) || MotorAnwerfen) |
{ |
MotorGestoppt = 1; |
DISABLE_SENSE_INT; |
MinUpmPulse = SetDelay(100); |
if(MotorAnwerfen) |
{ |
PORTC &= ~ROT; |
MotorAnwerfen = 0; |
Anwerfen(10); |
PORTD |= GRUEN; |
MotorGestoppt = 0; |
Phase--; |
PWM = 1; |
SetPWM(); |
SENSE_TOGGLE_INT; |
ENABLE_SENSE_INT; |
MinUpmPulse = SetDelay(100); |
while(!CheckDelay(MinUpmPulse)); // kurz Synchronisieren |
PWM = 10; |
SetPWM(); |
MinUpmPulse = SetDelay(200); |
while(!CheckDelay(MinUpmPulse)); // kurz Durchstarten |
MinUpmPulse = SetDelay(1000); |
altPhase = 7; |
} |
} |
} // ZeitFuerBerechnungen |
} // while(1) - Hauptschleife |
} |
/branches/BL-Ctrl/main.h |
---|
0,0 → 1,126 |
#ifndef _MAIN_H |
#define _MAIN_H |
#define MOTORADRESSE 4 // Adresse (1-4) |
#define MANUELL_PWM 0 // zur manuellen Vorgabe der PWM Werte: 0-255 |
#define TEST_MANUELL 0 // zum Testen der Hardware ohne Kommutierungsdetektion Werte: 0-255 (PWM) |
#define TEST_SCHUB 0 // Erzeugt ein Schubmuster Werte: 0 = normal 1 = Test |
#define POLANZAHL 12 // Anzahl der Pole (Magnete) Wird nur zur Drehzahlausgabe über Debug gebraucht |
#define MAX_PWM 255 |
#define MIN_PWM 3 |
#define MIN_PPM 10 // ab hier (PPM-Signal) schaltet der Regler erst ein |
#define FILTER_PPM 7 // wie stark soll das PPM-Signal gefiltert werden (Werte: 0-30)? |
#define SIO_DEBUG 0 // Testwertausgaben auf der seriellen Schnittstelle |
#define X3D_SIO 1 // serielles Protokoll des X3D (38400Bd) Achtung: dann muss SIO_DEBUG = 0 sein |
#define _16KHZ // Schaltfrequenz -- die gewünschte einkommentieren |
//#define _32KHZ // Schaltfrequenz -- die gewünschte einkommentieren |
#ifdef _16KHZ |
#define MAX_STROM 130 // ab ca. 13A PWM ausschalten |
#define LIMIT_STROM 65 // ab ca. 6,5A PWM begrenzen |
#endif |
#ifdef _32KHZ |
#define MAX_STROM 130 // ab ca. 13A PWM ausschalten |
#define LIMIT_STROM 50 // ab ca. 5,0A PWM begrenzen |
#endif |
#define SYSCLK 4000000L //Quarz Frequenz in Hz |
//Robbe Roxxy 2824-34 mit Todd 10x4,5 bei 16kHz |
//PWM Strom Schub |
//10 0,18A 21g |
//20 0,30A 38g |
//30 0,40A 49g |
//40 0,54A 60g |
//50 0,70A 83g |
//60 0,95A 102g |
//70 1,25A 128g |
//80 1,50A 151g |
//90 1,83A 175g |
//100 2,25A 206g |
//110 2,66A 228g |
//120 3,10A 257g |
//130 3,55A 278g |
//140 4,00A 305g |
//150 4,50A 330g |
//160 5,30A 355g |
//170 5,85A 387g |
//180 6,40A 400g |
//190 7,10A 425g |
//200 7,60A 460g |
//0,5A 63g 14% |
//1,0A 110g 24% |
//1,5A 170g 32% |
//2,0A 195g 37% |
//2,5A 230g 41% |
//3,0A 260g 46% |
//3,5A 290g 50% |
//4,0A 310g 53% |
//4,5A 340g 58% |
//5,0A 360g 63% |
//5,5A 380g 67% |
//6,0A 400g 68% |
//6,5A 420g 70% |
//7,0A 450g 75% |
//7,5A 460g 78% |
//8,0A 475g 82% |
//9,0A 550g 86% |
//11 A 600g 100% |
#include <stdio.h> |
#include <stdlib.h> |
#include <string.h> |
#include <avr/io.h> |
#include <avr/pgmspace.h> |
#include <avr/interrupt.h> |
#include <avr/eeprom.h> |
#include <avr/boot.h> |
#include <avr/wdt.h> |
#include "twislave.h" |
#include "old_macros.h" |
#include "analog.h" |
#include "uart.h" |
#include "timer0.h" |
#include "BLMC.h" |
#include "PPM_Decode.h" |
extern unsigned int I2C_Timeout; |
extern unsigned char SIO_Timeout; |
extern unsigned int PWM; |
extern unsigned int Strom; //ca. in 0,1A |
extern unsigned char Strom_max; |
extern unsigned char Mittelstrom; |
extern unsigned int CntKommutierungen; |
extern unsigned char MotorAnwerfen; |
extern unsigned char MotorGestoppt; |
extern unsigned char ZeitZumAdWandeln; |
extern unsigned char MaxPWM; |
#define ROT 0x08 |
#define GRUEN 0x80 |
#if defined(__AVR_ATmega8__) |
# define OC1 PB1 |
# define DDROC DDRB |
# define OCR OCR1A |
# define PWM10 WGM10 |
# define PWM11 WGM11 |
#endif |
#endif //_MAIN_H |
/branches/BL-Ctrl/makefile |
---|
0,0 → 1,386 |
#-------------------------------------------------------------------- |
# MCU name |
MCU = atmega8 |
#------------------------------------------------------------------- |
HAUPT_VERSION = 0 |
NEBEN_VERSION = 31 |
#------------------------------------------------------------------- |
# Output format. (can be srec, ihex, binary) |
FORMAT = ihex |
# Target file name (without extension). |
TARGET = BrushLess-Ctrl_8kHz_PWM_V$(HAUPT_VERSION)_$(NEBEN_VERSION) |
# Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization. |
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.) |
OPT = s |
########################################################################################################## |
# List C source files here. (C dependencies are automatically generated.) |
SRC = main.c uart.c timer0.c analog.c PPM_Decode.c twislave.c BLMC.c |
#printf_P.c |
########################################################################################################## |
# If there is more than one source file, append them above, or modify and |
# uncomment the following: |
#SRC += foo.c bar.c |
# You can also wrap lines by appending a backslash to the end of the line: |
#SRC += baz.c \ |
#xyzzy.c |
# List Assembler source files here. |
# Make them always end in a capital .S. Files ending in a lowercase .s |
# will not be considered source files but generated files (assembler |
# output from the compiler), and will be deleted upon "make clean"! |
# Even though the DOS/Win* filesystem matches both .s and .S the same, |
# it will preserve the spelling of the filenames, and gcc itself does |
# care about how the name is spelled on its command-line. |
ASRC = |
# List any extra directories to look for include files here. |
# Each directory must be seperated by a space. |
EXTRAINCDIRS = |
# Optional compiler flags. |
# -g: generate debugging information (for GDB, or for COFF conversion) |
# -O*: optimization level |
# -f...: tuning, see gcc manual and avr-libc documentation |
# -Wall...: warning level |
# -Wa,...: tell GCC to pass this to the assembler. |
# -ahlms: create assembler listing |
CFLAGS = -g -O$(OPT) \ |
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \ |
-Wall -Wstrict-prototypes \ |
-Wa,-adhlns=$(<:.c=.lst) \ |
$(patsubst %,-I%,$(EXTRAINCDIRS)) |
# Set a "language standard" compiler flag. |
# Unremark just one line below to set the language standard to use. |
# gnu99 = C99 + GNU extensions. See GCC manual for more information. |
#CFLAGS += -std=c89 |
#CFLAGS += -std=gnu89 |
#CFLAGS += -std=c99 |
CFLAGS += -std=gnu99 |
CFLAGS += -DVERSION_HAUPTVERSION=$(HAUPT_VERSION) -DVERSION_NEBENVERSION=$(NEBEN_VERSION) |
ifeq ($(AVR_CTRL_PLATINE), 1) |
CFLAGS += -DAVR_CTRL_PLATINE=$(AVR_CTRL_PLATINE) |
endif |
# Optional assembler flags. |
# -Wa,...: tell GCC to pass this to the assembler. |
# -ahlms: create listing |
# -gstabs: have the assembler create line number information; note that |
# for use in COFF files, additional information about filenames |
# and function names needs to be present in the assembler source |
# files -- see avr-libc docs [FIXME: not yet described there] |
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs |
# Optional linker flags. |
# -Wl,...: tell GCC to pass this to linker. |
# -Map: create map file |
# --cref: add cross reference to map file |
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref |
# Additional libraries |
# Minimalistic printf version |
#LDFLAGS += -Wl,-u,vfprintf -lprintf_min |
# Floating point printf version (requires -lm below) |
#LDFLAGS += -Wl,-u,vfprintf -lprintf_flt |
# -lm = math library |
LDFLAGS += -lm |
# Programming support using avrdude. Settings and variables. |
# Programming hardware: alf avr910 avrisp bascom bsd |
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500 |
# |
# Type: avrdude -c ? |
# to get a full listing. |
# |
AVRDUDE_PROGRAMMER = dt006 |
#AVRDUDE_PROGRAMMER = stk200 |
#AVRDUDE_PORT = com1 # programmer connected to serial device |
AVRDUDE_PORT = lpt1 # programmer connected to parallel port |
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex |
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep |
AVRDUDE_FLAGS = -F -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) |
# Uncomment the following if you want avrdude's erase cycle counter. |
# Note that this counter needs to be initialized first using -Yn, |
# see avrdude manual. |
#AVRDUDE_ERASE += -y |
# Uncomment the following if you do /not/ wish a verification to be |
# performed after programming the device. |
#AVRDUDE_FLAGS += -V -E noreset |
# Increase verbosity level. Please use this when submitting bug |
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude> |
# to submit bug reports. |
#AVRDUDE_FLAGS += -v -v |
# --------------------------------------------------------------------------- |
# Define directories, if needed. |
DIRAVR = c:/winavr |
DIRAVRBIN = $(DIRAVR)/bin |
DIRAVRUTILS = $(DIRAVR)/utils/bin |
DIRINC = . |
DIRLIB = $(DIRAVR)/avr/lib |
# Define programs and commands. |
SHELL = sh |
CC = avr-gcc |
OBJCOPY = avr-objcopy |
OBJDUMP = avr-objdump |
SIZE = avr-size |
# Programming support using avrdude. |
AVRDUDE = avrdude |
REMOVE = rm -f |
COPY = cp |
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex |
ELFSIZE = $(SIZE) -A $(TARGET).elf |
# Define Messages |
# English |
MSG_ERRORS_NONE = Errors: none |
MSG_BEGIN = -------- begin -------- |
MSG_END = -------- end -------- |
MSG_SIZE_BEFORE = Size before: |
MSG_SIZE_AFTER = Size after: |
MSG_COFF = Converting to AVR COFF: |
MSG_EXTENDED_COFF = Converting to AVR Extended COFF: |
MSG_FLASH = Creating load file for Flash: |
MSG_EEPROM = Creating load file for EEPROM: |
MSG_EXTENDED_LISTING = Creating Extended Listing: |
MSG_SYMBOL_TABLE = Creating Symbol Table: |
MSG_LINKING = Linking: |
MSG_COMPILING = Compiling: |
MSG_ASSEMBLING = Assembling: |
MSG_CLEANING = Cleaning project: |
# Define all object files. |
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o) |
# Define all listing files. |
LST = $(ASRC:.S=.lst) $(SRC:.c=.lst) |
# Combine all necessary flags and optional flags. |
# Add target processor to flags. |
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) |
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) |
# Default target. |
all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep \ |
$(TARGET).lss $(TARGET).sym sizeafter finished end |
# Eye candy. |
# AVR Studio 3.x does not check make's exit code but relies on |
# the following magic strings to be generated by the compile job. |
begin: |
@echo |
@echo $(MSG_BEGIN) |
finished: |
@echo $(MSG_ERRORS_NONE) |
end: |
@echo $(MSG_END) |
@echo |
# Display size of file. |
sizebefore: |
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi |
sizeafter: |
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi |
# Display compiler version information. |
gccversion : |
@$(CC) --version |
# Convert ELF to COFF for use in debugging / simulating in |
# AVR Studio or VMLAB. |
COFFCONVERT=$(OBJCOPY) --debugging \ |
--change-section-address .data-0x800000 \ |
--change-section-address .bss-0x800000 \ |
--change-section-address .noinit-0x800000 \ |
--change-section-address .eeprom-0x810000 |
coff: $(TARGET).elf |
@echo |
@echo $(MSG_COFF) $(TARGET).cof |
$(COFFCONVERT) -O coff-avr $< $(TARGET).cof |
extcoff: $(TARGET).elf |
@echo |
@echo $(MSG_EXTENDED_COFF) $(TARGET).cof |
$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof |
# Program the device. |
program: $(TARGET).hex $(TARGET).eep |
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) |
# Create final output files (.hex, .eep) from ELF output file. |
%.hex: %.elf |
@echo |
@echo $(MSG_FLASH) $@ |
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ |
%.eep: %.elf |
@echo |
@echo $(MSG_EEPROM) $@ |
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ |
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@ |
# Create extended listing file from ELF output file. |
%.lss: %.elf |
@echo |
@echo $(MSG_EXTENDED_LISTING) $@ |
$(OBJDUMP) -h -S $< > $@ |
# Create a symbol table from ELF output file. |
%.sym: %.elf |
@echo |
@echo $(MSG_SYMBOL_TABLE) $@ |
avr-nm -n $< > $@ |
# Link: create ELF output file from object files. |
.SECONDARY : $(TARGET).elf |
.PRECIOUS : $(OBJ) |
%.elf: $(OBJ) |
@echo |
@echo $(MSG_LINKING) $@ |
$(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS) |
# Compile: create object files from C source files. |
%.o : %.c |
@echo |
@echo $(MSG_COMPILING) $< |
$(CC) -c $(ALL_CFLAGS) $< -o $@ |
# Compile: create assembler files from C source files. |
%.s : %.c |
$(CC) -S $(ALL_CFLAGS) $< -o $@ |
# Assemble: create object files from assembler source files. |
%.o : %.S |
@echo |
@echo $(MSG_ASSEMBLING) $< |
$(CC) -c $(ALL_ASFLAGS) $< -o $@ |
# Target: clean project. |
clean: begin clean_list finished end |
clean_list : |
@echo |
@echo $(MSG_CLEANING) |
# $(REMOVE) $(TARGET).hex |
# $(REMOVE) $(TARGET).eep |
# $(REMOVE) $(TARGET).obj |
$(REMOVE) $(TARGET).cof |
$(REMOVE) $(TARGET).elf |
$(REMOVE) $(TARGET).map |
$(REMOVE) $(TARGET).obj |
$(REMOVE) $(TARGET).a90 |
$(REMOVE) $(TARGET).sym |
$(REMOVE) $(TARGET).lnk |
$(REMOVE) $(TARGET).lss |
$(REMOVE) $(OBJ) |
$(REMOVE) $(LST) |
$(REMOVE) $(SRC:.c=.s) |
$(REMOVE) $(SRC:.c=.d) |
# Automatically generate C source code dependencies. |
# (Code originally taken from the GNU make user manual and modified |
# (See README.txt Credits).) |
# |
# Note that this will work with sh (bash) and sed that is shipped with WinAVR |
# (see the SHELL variable defined above). |
# This may not work with other shells or other seds. |
# |
%.d: %.c |
set -e; $(CC) -MM $(ALL_CFLAGS) $< \ |
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \ |
[ -s $@ ] || rm -f $@ |
# Remove the '-' if you want to see the dependency files generated. |
-include $(SRC:.c=.d) |
# Listing of phony targets. |
.PHONY : all begin finish end sizebefore sizeafter gccversion coff extcoff \ |
clean clean_list program |
/branches/BL-Ctrl/old_macros.h |
---|
0,0 → 1,47 |
/* |
For backwards compatibility only. |
Ingo Busker ingo@mikrocontroller.com |
*/ |
#ifndef cbi |
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) |
#endif |
#ifndef sbi |
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) |
#endif |
#ifndef inb |
#define inb(sfr) _SFR_BYTE(sfr) |
#endif |
#ifndef outb |
#define outb(sfr, val) (_SFR_BYTE(sfr) = (val)) |
#endif |
#ifndef inw |
#define inw(sfr) _SFR_WORD(sfr) |
#endif |
#ifndef outw |
#define outw(sfr, val) (_SFR_WORD(sfr) = (val)) |
#endif |
#ifndef outp |
#define outp(val, sfr) outb(sfr, val) |
#endif |
#ifndef inp |
#define inp(sfr) inb(sfr) |
#endif |
#ifndef BV |
#define BV(bit) _BV(bit) |
#endif |
#ifndef PRG_RDB |
#define PRG_RDB pgm_read_byte |
#endif |
/branches/BL-Ctrl/timer0.c |
---|
0,0 → 1,60 |
/***************************************************************************** |
*****************************************************************************/ |
#include "main.h" |
volatile unsigned int CountMilliseconds = 0; |
volatile unsigned char Timer0Overflow; |
enum { |
STOP = 0, |
CK = 1, |
CK8 = 2, |
CK64 = 3, |
CK256 = 4, |
CK1024 = 5, |
T0_FALLING_EDGE = 6, |
T0_RISING_EDGE = 7 |
}; |
SIGNAL(SIG_OVERFLOW0) |
{ |
static unsigned char cnt; |
TCNT0 = 0x80; |
Timer0Overflow++; |
if(!cnt--) |
{ |
cnt = 3; |
CountMilliseconds += 1; |
if(I2C_Timeout) I2C_Timeout--; |
if(PPM_Timeout) PPM_Timeout--; |
if(SIO_Timeout) SIO_Timeout--; |
} |
} |
void Timer0_Init(void) |
{ |
TCCR0 = TIMER_TEILER; |
//TCNT0 = -TIMER_RELOAD_VALUE; // reload |
TIM0_START; |
TIMER2_INT_ENABLE; |
} |
unsigned int SetDelay(unsigned int t) |
{ |
return(CountMilliseconds + t - 1); |
} |
char CheckDelay (unsigned int t) |
{ |
return(((t - CountMilliseconds) & 0x8000) >> 8); |
} |
void Delay_ms(unsigned int w) |
{ |
unsigned int akt; |
akt = SetDelay(w); |
while (!CheckDelay(akt)); |
} |
/branches/BL-Ctrl/timer0.h |
---|
0,0 → 1,15 |
#if defined (__AVR_ATmega8__) |
#define TIMER_TEILER CK8 |
#define TIMER_RELOAD_VALUE 125 |
#endif |
extern volatile unsigned int CountMilliseconds; |
extern volatile unsigned char Timer0Overflow; |
void Timer1_Init(void); |
void Delay_ms(unsigned int); |
unsigned int SetDelay (unsigned int t); |
char CheckDelay (unsigned int t); |
/branches/BL-Ctrl/twislave.c |
---|
0,0 → 1,75 |
/*############################################################################ |
Slaveadr = 0x52 = Vorne, 0x54 = Hinten, 0x56 = Rechts, 0x58 = Links |
############################################################################*/ |
#include <avr/io.h> |
#include <util/twi.h> |
#include "main.h" |
unsigned char I2C_RXBuffer; |
unsigned char Byte_Counter=0; |
//############################################################################ |
//I2C (TWI) Interface Init |
void InitIC2_Slave(uint8_t adr) |
//############################################################################ |
{ |
TWAR = adr + (2*MOTORADRESSE); // Eigene Adresse setzen |
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE) | (1<<TWEA); |
} |
//############################################################################ |
//ISR, die bei einem Ereignis auf dem Bus ausgelöst wird. Im Register TWSR befindet |
//sich dann ein Statuscode, anhand dessen die Situation festgestellt werden kann. |
ISR (TWI_vect) |
//############################################################################ |
{ |
switch (TWSR & 0xF8) |
{ |
case SR_SLA_ACK: |
TWCR |= (1<<TWINT); |
Byte_Counter=0; |
return; |
// Daten Empfangen |
case SR_PREV_ACK: |
I2C_RXBuffer = TWDR; |
I2C_Timeout = 500; |
TWCR |= (1<<TWINT); |
return; |
// Daten Senden |
case SW_SLA_ACK: |
if (Byte_Counter==0) |
{ |
TWDR = Mittelstrom; |
Byte_Counter++; |
} |
else |
{ |
TWDR = MaxPWM; |
} |
TWCR |= (1<<TWINT); |
return; |
// Daten Senden |
case SW_DATA_ACK: |
if (Byte_Counter==0) |
{ |
TWDR = Mittelstrom; |
Byte_Counter++; |
} |
else |
{ |
TWDR = MaxPWM; |
} |
TWCR |= (1<<TWINT); |
return; |
// Bus-Fehler zurücksetzen |
case TWI_BUS_ERR_2: |
TWCR |=(1<<TWSTO) | (1<<TWINT); |
// Bus-Fehler zurücksetzen |
case TWI_BUS_ERR_1: |
TWCR |=(1<<TWSTO) | (1<<TWINT); |
} |
TWCR =(1<<TWEA) | (1<<TWINT) | (1<<TWEN) | (1<<TWIE); // TWI Reset |
} |
/branches/BL-Ctrl/twislave.h |
---|
0,0 → 1,32 |
#ifndef _TWI_SLAVE_H_ |
#define _TWI_SLAVE_H_ |
extern unsigned char I2C_RXBuffer; |
extern unsigned char Byte_Counter; |
extern void InitIC2_Slave (uint8_t adr); |
#define TWI_BUS_ERR_1 0x00 |
#define TWI_BUS_ERR_2 0xF8 |
// Status Slave RX Mode |
#define SR_SLA_ACK 0x60 |
#define SR_LOST_ACK 0x68 |
#define SR_GEN_CALL_ACK 0x70 |
#define GEN_LOST_ACK 0x78 |
#define SR_PREV_ACK 0x80 |
#define SR_PREV_NACK 0x88 |
#define GEN_PREV_ACK 0x90 |
#define GEN_PREV_NACK 0x98 |
#define STOP_CONDITION 0xA0 |
#define REPEATED_START 0xA0 |
// Status Slave TX mode |
#define SW_SLA_ACK 0xA8 |
#define SW_LOST_ACK 0xB0 |
#define SW_DATA_ACK 0xB8 |
#define SW_DATA_NACK 0xC0 |
#define SW_LAST_ACK 0xC8 |
#endif |
/branches/BL-Ctrl/uart.c |
---|
0,0 → 1,191 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Regler für Brushless-Motoren |
// + ATMEGA8 mit 8MHz |
// + (c) 01.2007 Holger Buss |
// + Nur für den privaten Gebrauch |
// + Keine Garantie auf Fehlerfreiheit |
// + Kommerzielle Nutzung nur mit meiner Zustimmung |
// + Der Code ist für die Hardware BL_Ctrl V1.0 entwickelt worden |
// + www.mikrocontroller.com |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "main.h" |
#include "uart.h" |
#define MAX_SENDE_BUFF 100 |
#define MAX_EMPFANGS_BUFF 100 |
unsigned volatile char SIO_Sollwert = 0; |
unsigned volatile char SioTmp = 0; |
unsigned volatile char SendeBuffer[MAX_SENDE_BUFF]; |
unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF]; |
unsigned volatile char NeuerDatensatzEmpfangen = 0; |
unsigned volatile char UebertragungAbgeschlossen = 1; |
unsigned char MeineSlaveAdresse; |
struct str_DebugOut DebugOut; |
int Debug_Timer; |
SIGNAL(INT_VEC_TX) |
{ |
} |
void SendUart(void) |
{ |
static unsigned int ptr = 0; |
unsigned char tmp_tx; |
if(!(UCSRA & 0x40)) return; |
if(!UebertragungAbgeschlossen) |
{ |
ptr++; // die [0] wurde schon gesendet |
tmp_tx = SendeBuffer[ptr]; |
if((tmp_tx == '\r') || (ptr == MAX_SENDE_BUFF)) |
{ |
ptr = 0; |
UebertragungAbgeschlossen = 1; |
} |
USR |= (1<TXC); |
UDR = tmp_tx; |
} |
else ptr = 0; |
} |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
//++ Empfangs-Part der Datenübertragung |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
SIGNAL(INT_VEC_RX) |
{ |
static unsigned char serPacketCounter = 100; |
SioTmp = UDR; |
#if X3D_SIO == 1 |
if(SioTmp == 0xF5) // Startzeichen |
{ |
serPacketCounter = 0; |
} |
else |
{ |
if(++serPacketCounter == MOTORADRESSE) // (1-4) |
{ |
SIO_Sollwert = SioTmp; |
SIO_Timeout = 200; // werte für 200ms gültig |
} |
else |
{ |
if(serPacketCounter > 100) serPacketCounter = 100; |
} |
} |
#endif |
}; |
// -------------------------------------------------------------------------- |
void AddCRC(unsigned int wieviele) |
{ |
unsigned int tmpCRC = 0,i; |
for(i = 0; i < wieviele;i++) |
{ |
tmpCRC += SendeBuffer[i]; |
} |
tmpCRC %= 4096; |
SendeBuffer[i++] = '=' + tmpCRC / 64; |
SendeBuffer[i++] = '=' + tmpCRC % 64; |
SendeBuffer[i++] = '\r'; |
UebertragungAbgeschlossen = 0; |
UDR = SendeBuffer[0]; |
} |
// -------------------------------------------------------------------------- |
void SendOutData(unsigned char cmd,unsigned char modul, unsigned char *snd, unsigned char len) |
{ |
unsigned int pt = 0; |
unsigned char a,b,c; |
unsigned char ptr = 0; |
SendeBuffer[pt++] = '#'; // Startzeichen |
SendeBuffer[pt++] = modul; // Adresse (a=0; b=1,...) |
SendeBuffer[pt++] = cmd; // Commando |
while(len) |
{ |
if(len) { a = snd[ptr++]; len--;} else a = 0; |
if(len) { b = snd[ptr++]; len--;} else b = 0; |
if(len) { c = snd[ptr++]; len--;} else c = 0; |
SendeBuffer[pt++] = '=' + (a >> 2); |
SendeBuffer[pt++] = '=' + (((a & 0x03) << 4) | ((b & 0xf0) >> 4)); |
SendeBuffer[pt++] = '=' + (((b & 0x0f) << 2) | ((c & 0xc0) >> 6)); |
SendeBuffer[pt++] = '=' + ( c & 0x3f); |
} |
AddCRC(pt); |
} |
//############################################################################ |
//Routine für die Serielle Ausgabe |
int uart_putchar (char c) |
//############################################################################ |
{ |
if (c == '\n') |
uart_putchar('\r'); |
//Warten solange bis Zeichen gesendet wurde |
loop_until_bit_is_set(USR, UDRE); |
//Ausgabe des Zeichens |
UDR = c; |
return (0); |
} |
// -------------------------------------------------------------------------- |
void WriteProgramData(unsigned int pos, unsigned char wert) |
{ |
} |
//############################################################################ |
//INstallation der Seriellen Schnittstelle |
void UART_Init (void) |
//############################################################################ |
{ |
//Enable TXEN im Register UCR TX-Data Enable & RX Enable |
UCR=(1 << TXEN) | (1 << RXEN); |
// UART Double Speed (U2X) |
USR |= (1<<U2X); |
// RX-Interrupt Freigabe |
#if X3D_SIO == 1 |
UCSRB |= (1<<RXCIE); // serieller Empfangsinterrupt |
#endif |
// TX-Interrupt Freigabe |
// UCSRB |= (1<<TXCIE); |
//Teiler wird gesetzt |
//UBRR= (SYSCLK / (BAUD_RATE * 8L) -1 ); |
#if X3D_SIO == 1 |
UBRR = 12; //38400 Baud @ 4 MHz |
#else |
UBRR = 8; //57600 Baud @ 4 MHz |
#endif |
//öffnet einen Kanal für printf (STDOUT) |
fdevopen (uart_putchar, NULL); |
Debug_Timer = SetDelay(200); |
UDR = '*'; |
} |
//--------------------------------------------------------------------------------------------- |
void DatenUebertragung(void) |
{ |
if((CheckDelay(Debug_Timer) && UebertragungAbgeschlossen)) // im Singlestep-Betrieb in jedem Schtitt senden |
{ |
SendOutData('D',MeineSlaveAdresse,(unsigned char *) &DebugOut,sizeof(DebugOut)); |
Debug_Timer = SetDelay(50); // Sendeintervall |
} |
} |
/branches/BL-Ctrl/uart.h |
---|
0,0 → 1,81 |
#ifndef _UART_H |
#define _UART_H |
extern unsigned volatile char SIO_Sollwert; |
extern unsigned volatile char UebertragungAbgeschlossen; |
extern unsigned volatile char PC_DebugTimeout; |
extern unsigned char MeineSlaveAdresse; |
extern int Debug_Timer; |
extern void UART_Init (void); |
extern int uart_putchar (char c); |
extern void boot_program_page (uint32_t page, uint8_t *buf); |
extern void SendUart(void); |
struct str_DebugOut |
{ |
unsigned char Digital[13]; |
unsigned int AnzahlZyklen; |
unsigned int Zeit; |
unsigned char Sekunden; |
unsigned int Analog[8]; // Debugwerte |
}; |
extern struct str_DebugOut DebugOut; |
//Die Baud_Rate der Seriellen Schnittstelle |
//#define BAUD_RATE 9600 //Baud Rate für die Serielle Schnittstelle |
//#define BAUD_RATE 14400 //Baud Rate für die Serielle Schnittstelle |
//#define BAUD_RATE 28800 //Baud Rate für die Serielle Schnittstelle |
#if X3D_SIO == 1 |
#define BAUD_RATE 38400 //Baud Rate für die Serielle Schnittstelle |
#else |
#define BAUD_RATE 57600 //Baud Rate für die Serielle Schnittstelle |
#endif |
//Anpassen der seriellen Schnittstellen Register wenn ein ATMega128 benutzt wird |
#if defined (__AVR_ATmega128__) |
# define USR UCSR0A |
# define UCR UCSR0B |
# define UDR UDR0 |
# define UBRR UBRR0L |
# define EICR EICRB |
#endif |
#if defined (__AVR_ATmega8__) |
# define USR UCSRA |
# define UCR UCSRB |
# define UBRR UBRRL |
# define EICR EICRB |
# define INT_VEC_RX SIG_UART_RECV |
# define INT_VEC_TX SIG_UART_TRANS |
#endif |
#if defined (__AVR_ATmega32__) |
# define USR UCSRA |
# define UCR UCSRB |
# define UBRR UBRRL |
# define EICR EICRB |
# define INT_VEC_RX SIG_UART_RECV |
# define INT_VEC_TX SIG_UART_TRANS |
#endif |
#if defined (__AVR_ATmega644__) |
# define USR UCSR0A |
# define UCR UCSR0B |
# define UDR UDR0 |
# define UBRR UBRR0L |
# define EICR EICR0B |
# define TXEN TXEN0 |
# define RXEN RXEN0 |
# define RXCIE RXCIE0 |
# define TXCIE TXCIE0 |
# define U2X U2X0 |
# define UCSRB UCSR0B |
# define UDRE UDRE0 |
# define INT_VEC_RX SIG_USART_RECV |
# define INT_VEC_TX SIG_USART_TRANS |
#endif |
#endif //_UART_H |