diff --git a/B15F.elf b/B15F.elf index 37e4da2..137fa90 100644 Binary files a/B15F.elf and b/B15F.elf differ diff --git a/B15F.hex b/B15F.hex index c69f038..068ce8e 100644 --- a/B15F.hex +++ b/B15F.hex @@ -8,14 +8,14 @@ :100070000C9489000C9489000C9489000C948900DC :100080000C9489000C9489000C948900DF00E10035 :10009000E300DA00E500E700E900EB00ED00EF0027 -:1000A000F100F300830480047D0459047A0477048A -:1000B000740471046E046B046804860489041124BA +:1000A000F100F3007E047B047804540475047204A8 +:1000B0006F046C04690466046304810484041124DD :1000C0001FBECFEFD0E4DEBFCDBF11E0A0E0B1E0B6 -:1000D000E6E7F9E000E00BBF02C007900D92A23006 +:1000D000ECE6F9E000E00BBF02C007900D92A23001 :1000E000B107D9F721E0A2E0B1E001C01D92A4312F :1000F000B207E1F710E0CFE5D0E004C02197FE01A0 -:100100000E94B004CE35D107C9F70E9457040C9461 -:10011000B9040C9400001F920F920FB60F92112495 +:100100000E94AB04CE35D107C9F70E9452040C946B +:10011000B4040C9400001F920F920FB60F9211249A :100120008F9388E4809360008F910F900FBE0F90A3 :100130001F90189583E191E00E94F60060E080E155 :1001400091E00E9439016FEF80E191E00E945A0135 @@ -24,11 +24,11 @@ :1001700091E00E942F0282E091E00E942703789490 :1001800098E088E10FB6F894A895809360000FBEC0 :100190009093600088E480936000A895089582E0C1 -:1001A00091E00E944F03A89590E0FC013197EC305C -:1001B000F10508F00895EA5BFF4F0C94B0040C942D -:1001C00067030C9478030C9479030C9486030C94C5 -:1001D00099030C94AC030C94B5030C94BE030C94DB -:1001E000D1030C94E4030C94F203089584B1806B62 +:1001A00091E00E944A03A89590E0FC013197EC3061 +:1001B000F10508F00895EA5BFF4F0C94AB040C9432 +:1001C00062030C9473030C9474030C9481030C94D9 +:1001D00094030C94A7030C94B0030C94B9030C94EF +:1001E000CC030C94DF030C94ED03089584B1806B71 :1001F00084B926988AB18C618AB980E58CBD81E08A :100200008DBD8BB1837E8BB95A9A5B9A5C9A0895A7 :100210008BB1837E8BB98BB160FD10C090E0892BD0 @@ -98,57 +98,56 @@ :100610000E94060280E191E00E94E001682F80E1E3 :1006200091E00E947B018AE091E00E94E001682F46 :100630008DE091E00E947B01D9CF0E944F020E9481 -:1006400078020E94A1020E94C6020E94EB0288E189 -:100650008093C10086E08093C2001092C5008FE1B4 -:100660008093C40008956093C6008091C00086FF07 -:10067000FCCF83EF91E00197F1F700C000000895EF -:100680006093C6007093C6008091C00086FFFCCFC7 -:1006900087E893E10197F1F700C000000895809189 -:1006A000C00087FFFCCF8091C60008958091C000F4 -:1006B00087FFFCCF2091C60030E09091C00097FFEB -:1006C000FCCF8091C600A901582BCA010895CF9391 -:1006D00082E091E00E944F03C82F6FEF82E091E02B -:1006E0000E9433036C2F82E091E0CF910C9433038E -:1006F000089582E091E00E945603BC01660F771FC7 -:10070000680F791F82E091E00C94400382E091E051 -:100710000E944F03682F80E191E00E947B0180914D -:100720000001811101C008956FEF82E091E00C9407 -:10073000330382E091E00E944F03682F8DE091E047 -:100740000E947B0180910001811101C008956FEF2B -:1007500082E091E00C94330380E191E00E94E0019B -:10076000682F82E091E00C9433038DE091E00E94C9 -:10077000E001682F82E091E00C94330382E091E085 -:100780000E945603BC0187E091E00E94060280911E -:100790000001811101C008956FEF82E091E00C9497 -:1007A000330382E091E00E945603BC0184E091E0B3 -:1007B0000E94060280910001811101C008956FEF2F -:1007C00082E091E00C94330382E091E00E944F03B9 -:1007D000682F83E091E00E943502BC0182E091E045 -:1007E0000C9440038F929F92AF92BF92CF92DF9270 -:1007F000EF92FF920F931F93CF93DF9382E091E0EC -:100800000E944F03882E82E091E00E944F03982EB1 -:1008100082E091E00E945603EC0182E091E00E94A8 -:1008200056035C0182E091E00E9456038C016FEF59 -:1008300082E091E00E943303A09E6001A19ED00C53 -:10084000B09ED00C1124CC15DD0501F1BE0187E06E -:1008500091E00E940602682D83E091E00E9435023B -:100860007C01692D83E091E00E9435028C01B70183 -:1008700082E091E00E944003B80182E091E00E9492 -:100880004003CA0DDB1DCC16DD0601F76FEF82E0D9 -:1008900091E0DF91CF911F910F91FF90EF90DF904A -:1008A000CF90BF90AF909F908F900C9433030E9495 -:1008B0009A0082E091E00E944F03A89590E0FC012D -:1008C0003197EC30F105A8F7EE5AFF4F0C94B004C5 -:1008D0000E94E403EECF0E94D103EBCF0E94BE033F -:1008E000E8CF0E94B503E5CF0E94AC03E2CF0E949F -:1008F0009903DFCF0E948603DCCF0E947903D9CF12 -:100900000E947803D6CF0E946703D3CF0E94F203E0 -:10091000D0CF83E191E00E94F50042E063E171E015 -:1009200080E191E00E94340143E063E171E08DE0F9 -:1009300091E00E94340145E063E171E08AE091E0DA -:100940000E94340140E063E171E087E091E00E94A1 -:10095000030241E063E171E084E091E00C94030262 -:10096000EE0FFF1F0024001C0BBE0790F691E02D38 -:060970000994F894FFCF8A -:0209760001007E +:1006400078020E94A1020E94C6020E94EB0282E090 +:100650008093C00088E18093C10086E08093C2004F +:100660001092C50084E18093C40008958091C00079 +:1006700085FFFCCF6093C60008958091C00085FF80 +:10068000FCCF6093C6008091C00085FFFCCF7093C3 +:10069000C60008958091C00087FFFCCF8091C600FE +:1006A00008958091C00087FFFCCF2091C60030E004 +:1006B0009091C00097FFFCCF8091C600A901582BF4 +:1006C000CA010895CF9382E091E00E944A03C82FA7 +:1006D0006FEF82E091E00E9436036C2F82E091E0A0 +:1006E000CF910C943603089582E091E00E9451036B +:1006F000BC01660F771F680F791F82E091E00C94B0 +:100700003D0382E091E00E944A03682F80E191E07E +:100710000E947B0180910001811101C008956FEF5B +:1007200082E091E00C94360382E091E00E944A035B +:10073000682F8DE091E00E947B0180910001811182 +:1007400001C008956FEF82E091E00C94360380E1E0 +:1007500091E00E94E001682F82E091E00C94360362 +:100760008DE091E00E94E001682F82E091E00C941E +:10077000360382E091E00E945103BC0187E091E0E2 +:100780000E94060280910001811101C008956FEF5F +:1007900082E091E00C94360382E091E00E945103E4 +:1007A000BC0184E091E00E94060280910001811169 +:1007B00001C008956FEF82E091E00C94360382E06F +:1007C00091E00E944A03682F83E091E00E94350285 +:1007D000BC0182E091E00C943D038F929F92AF9216 +:1007E000BF92CF92DF92EF92FF920F931F93CF931E +:1007F000DF9382E091E00E944A03882E82E091E03C +:100800000E944A03982E82E091E00E945103EC017D +:1008100082E091E00E9451035C0182E091E00E943D +:1008200051038C016FEF82E091E00E943603A09E9D +:100830006001A19ED00CB09ED00C1124CC15DD051A +:1008400001F1BE0187E091E00E940602682D83E07D +:1008500091E00E9435027C01692D83E091E00E94C5 +:1008600035028C01B70182E091E00E943D03B8019E +:1008700082E091E00E943D03CA0DDB1DCC16DD062F +:1008800001F76FEF82E091E0DF91CF911F910F911F +:10089000FF90EF90DF90CF90BF90AF909F908F90A0 +:1008A0000C9436030E949A0082E091E00E944A0371 +:1008B000A89590E0FC013197EC30F105A8F7EE5ACD +:1008C000FF4F0C94AB040E94DF03EECF0E94CC03D9 +:1008D000EBCF0E94B903E8CF0E94B003E5CF0E949E +:1008E000A703E2CF0E949403DFCF0E948103DCCFF5 +:1008F0000E947403D9CF0E947303D6CF0E94620373 +:10090000D3CF0E94ED03D0CF83E191E00E94F500A8 +:1009100042E063E171E080E191E00E94340143E054 +:1009200063E171E08DE091E00E94340145E063E114 +:1009300071E08AE091E00E94340140E063E171E0FF +:1009400087E091E00E94030241E063E171E084E00E +:1009500091E00C940302EE0FFF1F0024001C0BBE5D +:0C0960000790F691E02D0994F894FFCF69 +:02096C00010088 :00000001FF diff --git a/usart.cpp b/usart.cpp index 5ed1170..7c3ee84 100644 --- a/usart.cpp +++ b/usart.cpp @@ -2,32 +2,38 @@ void USART::init() { + UCSR0A = _BV(U2X0); + UCSR0B = _BV(RXEN0) | _BV(TXEN0); // Einstellen des Datenformats: 8 Datenbits, 1 Stoppbit UCSR0C = _BV(UCSZ00) |_BV(UCSZ01);// (1<> 8) & 0xFF; - UBRR0L = ((F_CPU / (16UL * BAUDRATE))-1) & 0xFF; + UBRR0H = (((F_CPU / (8UL * BAUDRATE))-1) >> 8) & 0xFF; + UBRR0L = ((F_CPU / (8UL * BAUDRATE))-1) & 0xFF; } void USART::writeByte(uint8_t b) { + while (!(UCSR0A & (1<>= 8; + while (!(UCSR0A & (1< #include -constexpr uint16_t BAUDRATE = 38400UL; //9600UL//9600 +constexpr uint32_t BAUDRATE = 115200; // 38400 class USART {