usart speedup

This commit is contained in:
Tristan Krause 2019-03-27 11:45:30 +01:00
parent da72ab7256
commit a2d78446d3
4 changed files with 75 additions and 70 deletions

BIN
B15F.elf

Binary file not shown.

125
B15F.hex
View file

@ -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

View file

@ -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<<URSEL0)|(1<<UCSZ10)|(1<<UCSZ00);
// setze Baudrate
UBRR0H = (((F_CPU / (16UL * BAUDRATE))-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<<UDRE0)));
UDR0 = b;
while(!(UCSR0A & _BV(TXC0)));
_delay_us(100);
//while(!(UCSR0A & _BV(TXC0)));
}
void USART::writeInt(uint16_t v)
{
while (!(UCSR0A & (1<<UDRE0)));
UDR0 = v & 0xFF;
v >>= 8;
while (!(UCSR0A & (1<<UDRE0)));
UDR0 = v & 0xFF;
while(!(UCSR0A & _BV(TXC0)));
_delay_ms(1);
//while(!(UCSR0A & _BV(TXC0)));
}
uint8_t USART::readByte()

View file

@ -5,7 +5,7 @@
#include <util/delay.h>
#include <stdint.h>
constexpr uint16_t BAUDRATE = 38400UL; //9600UL//9600
constexpr uint32_t BAUDRATE = 115200; // 38400
class USART
{