feat(ex03): removed extra files and do the case conversion

This commit is contained in:
Maix0 2026-04-16 10:27:33 +02:00
parent 4861b7beaf
commit a7b19ca162
3 changed files with 5 additions and 40 deletions

View file

@ -17,5 +17,8 @@ int main(void) {
// UART_RX COMPLETE
void __attribute__((signal)) __vector_18(void) {
uart_tx(UDR0);
char data = UDR0;
if ((data >= 'A' && data <= 'Z') || (data >= 'a' && data <= 'z'))
data ^= 0x20;
uart_tx(data);
}

View file

@ -1,38 +0,0 @@
#include <avr/io.h>
#include <avr/interrupt.h>
#include "mystd.h"
#include "utils.h"
#define PRESCALER 256
#define TIMER_FREQ (F_CPU / PRESCALER)
// at a high level:
// Set the OC1B (PB2) pin as output
// set the TIMER1 mode to COMPARE (CTC)
// say to compare against OC1A
// set the value to be compated at X count
// say the presacler for the timer is 512
//
// all these information are on page ~140
void timer1_init(void) {
// Set PB1 (OC1A) as output
DDRB |= _BV(PB1);
// CTC mode (WGM12 = 1)
TCCR1B |= _BV(WGM12);
// Toggle OC1B on compare match (COM1B0 = 1)
// TCCR1A |= _BV(COM1A0);
// Set compare values
OCR1A = TIMER_FREQ / 2;
// Start timer with prescaler 256 (CS12)
TCCR1B |= _BV(CS12);
// set OCR1A interrupt
TIMSK1 = _BV(1);
sei();
}