- working SREC

git-svn-id: http://moon:8086/svn/projects/HendiControl@51 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
2019-03-03 12:34:46 +00:00
parent 9776a64598
commit 2c6927ff43
7 changed files with 457 additions and 15 deletions
@@ -0,0 +1,53 @@
/*
* uart.h
*
* Created: 20.02.2019 20:50:01
* Author: jens
*/
#ifndef UART_H_
#define UART_H_
#include "machine.h"
#define UART_PRESCALE(baudrate, smpPerBit) ((5+ 10*F_CPU / (baudrate*smpPerBit) - 1)/10)
void uart_init(uint32_t baudrate);
void uart_putc(char c);
char uart_getc(void);
void uart_puts(char const *str);
inline void print_byte(char byte)
{
int i;
unsigned char c, nibble;
for (i=0; i < 2; i++)
{
nibble = (char)((byte >> 4) & 0xF);
byte <<= 4;
if (nibble < 10)
c = nibble + '0';
else
c = nibble + 'A' - 10;
uart_putc(c);
}
}
inline void print_word(uint16_t word)
{
int i;
unsigned char c;
for (i=0; i < 2; i++)
{
c = (char) (word >> 8);
print_byte(c);
word <<= 8;
}
}
#endif /* UART_H_ */