Files
42_EXT_03_42chips/module06/ex00/header.h
2025-03-15 18:34:10 +01:00

47 lines
749 B
C

#ifndef HEADER_H
#define HEADER_H
#include <avr/io.h>
#include <util/twi.h>
#include "utils.h"
#include "bitmanip.h"
#include "interrupt.h"
#include "timer.h"
#include "usart.h"
#include "adc.h"
#include "i2c.h"
//
// GLOBAL
//
typedef enum {
WAITING,
MASTER,
SLAVE
} Role;
extern volatile Role role;
extern volatile uint8_t received_data;
//
// PROTOTYPES
//
// main.c
// i2c.c
void i2c_init(void);
void i2c_start(void);
void i2c_stop(void);
// uart.c
void uart_init();
void uart_tx(char c);
void uart_printstr(const char* str);
void uart_printstr_endl(const char* str);
// math.c
void int_to_hex_string(uint64_t value, char *out, uint8_t num_digits);
void int_to_string(uint64_t value, char *out);
//
// MACROS
//
#endif // HEADER_H