Started implementing EEPROM writer/reader for AT28C256.

This commit is contained in:
2022-07-29 14:53:43 +02:00
parent ac69187b5f
commit 7a476f3180
8 changed files with 77 additions and 36 deletions

View File

@@ -20,7 +20,7 @@ const unsigned char A7 = 0x15;
void analog_read_duty_cycle();
unsigned char map_analog_pin(unsigned char);
void pins_init(){
void pins_init() {
sei();
// enable ADC (128 bit ADPS scaling factor 0x07) to read analog values
@@ -37,7 +37,7 @@ void pins_init(){
TIMSK2 |= _BV(TOIE2);
}
void pin_mode(unsigned char pin, unsigned char mode){
void pin_mode(unsigned char pin, unsigned char mode) {
if(pin > A7){
return;
}
@@ -75,7 +75,7 @@ void pin_mode(unsigned char pin, unsigned char mode){
}
}
int digital_read(unsigned char pin){
int digital_read(unsigned char pin) {
if(pin > A7){
return 0;
}
@@ -94,7 +94,7 @@ int digital_read(unsigned char pin){
return analog_read(pin) > 512 ? 1 : 0;
}
void digital_write(unsigned char pin, unsigned char value){
void digital_write(unsigned char pin, unsigned char value) {
if(pin > A7){
return;
}
@@ -132,7 +132,7 @@ void digital_write(unsigned char pin, unsigned char value){
}
}
unsigned int analog_read(unsigned char pin){
unsigned int analog_read(unsigned char pin) {
pin = map_analog_pin(pin);
if(pin > 7){
@@ -151,7 +151,7 @@ unsigned int analog_read(unsigned char pin){
return ADC;
}
void analog_write(unsigned char pin, unsigned char value){
void analog_write(unsigned char pin, unsigned char value) {
// write digital if possible
if(value == 0){
digital_write(pin, LOW);
@@ -206,7 +206,7 @@ void analog_write(unsigned char pin, unsigned char value){
}
// maps A0-A7 to 0-7
unsigned char map_analog_pin(unsigned char pin){
unsigned char map_analog_pin(unsigned char pin) {
if(pin > 7){
return pin-A0;
}

View File

@@ -1,7 +1,7 @@
#include "serial.h"
#include <avr/io.h>
void serial_init(unsigned int baud){
void serial_init(unsigned int baud) {
unsigned long baud_prescale = ((16000000UL/(baud*16UL)))-1;
// enable transmitter and receiver
@@ -15,7 +15,7 @@ void serial_init(unsigned int baud){
UBRR0L = baud_prescale;
}
void serial_write(char* data, unsigned int n){
void serial_write(char* data, unsigned int n) {
unsigned int i;
for(i = 0; i < n; i++){
@@ -27,7 +27,7 @@ void serial_write(char* data, unsigned int n){
}
}
void serial_read(char* data, unsigned int n){
void serial_read(char* data, unsigned int n) {
unsigned int i;
for(i = 0; i < n; i++){

View File

@@ -1,5 +1,5 @@
#include "util.h"
float map(float value, float fromLow, float fromHigh, float toLow, float toHigh){
float map(float value, float fromLow, float fromHigh, float toLow, float toHigh) {
return fromLow+((toHigh-toLow)/(fromHigh-fromLow))*(value-fromLow);
}