Answered step by step
Verified Expert Solution
Question
1 Approved Answer
// Problem 2 code #define F_CPU 1600000OUL #include #include void main(void) { char ch; UCSRA=0x00; UCSRB=0x58: UBRRH=0x00; UBRRL=0x0F; DDRB = 0xFF; sei); while (1) {
// Problem 2 code #define F_CPU 1600000OUL #include #include void main(void) { char ch; UCSRA=0x00; UCSRB=0x58: UBRRH=0x00; UBRRL=0x0F; DDRB = 0xFF; sei); while (1) { if (UCSRA & 0x80) { ch - UDR; switch (ch) { case 'a': PORTB = PORTB0x10; break; case 'b': PORTB = PORTB0x20; break; default: PORTB - PORTB0x40; } } 1. What baud rate the program sets for serial communication? How many seconds it takes to send or receive one full byte? Show calculations. [10 points] 2. Explain what is the purpose of lines UCSRA=0x00; and UCSRB=0x58; in the code? [5 points] 3. Which pin of PORTB toggles if the program receives character Z? [5 points] 4. The program uses polling method to receive data serially, re-write the code for interrupt-based receiving of data. Use Receive Complete Interrupt. [15 points]
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started