Automatické nastavenie prenosovej rýchlosti
Zo stránky SensorWiki
Záverečný projekt predmetu MIPS / LS2025 - Matúš Kráľ
Zadanie
Pri sériovej komunikácii musíme nastaviť niekoľko parametrov.: Prenosovú rýchlosť, počet dátových bitov, paritu a počet stop bitov. Vytvorte program, na automatické testovanie nastavenej prenosovej rýchlosti „druhej strany“ komunikačného kanála.

Literatúra:
Analýza a opis riešenia
Použité komponenty:
- Vývojová doska Arduino UNO (ATmega328P-PU, 16 MHz).
- UART prevodník integrovaný cez USB.
Link pre Datasheet ATmega328P: Datasheet ATmega328P
Zapojenie:
- UART prevodník bude zapojený do Arduina UNO a pomocou zapojeného prevodníka budeme vedieť komunikovať s Arduinom.

Algoritmus a program
Algoritmus programu využíva toto a toto, základné funkcie sú takéto a voláma ich tuto... Výpis kódu je nižšie...
#define F_CPU 16000000UL
#include <stdio.h>
#include <avr/io.h>
#include <util/delay.h>
#include "uart.h"
FILE uart_output = FDEV_SETUP_STREAM(uart_putc, NULL, _FDEV_SETUP_WRITE);
FILE uart_input = FDEV_SETUP_STREAM(NULL, uart_getc, _FDEV_SETUP_READ);
const unsigned long baud_rychlost[] = {
600,
1200,
2400,
4800,
9600,
14400,
19200,
28800,
38400,
56000,
57600,
115200
};
int main(void)
{
int velkost = sizeof(baud_rychlost)/sizeof(baud_rychlost[0]);
int baud_index = 0;
int najdeny = 0;
char znak;
while (1)
{
if(najdeny == 0){
for(int i=0; i<velkost; i++){
baud_index = i;
uart_init(baud_rychlost[i]);
stdout = &uart_output;
stdin = &uart_input;
_delay_ms(200);
uart_puts("\nOcakavany znak: a\n");
znak = uart_getc_timeout(2000); // Caka na vstup znaku 2 sekundy
printf("Ziskany znak: %c\n",znak);
if(znak=='a'){ // Ocakavany znak je 'a'
najdeny = 1;
printf("Prenosova rychlost najdena: Baud = %lu \n",baud_rychlost[baud_index]);
break;
}
}
}
else{
znak = uart_getc();
uart_putc(znak);
}
}
}
#include <avr/io.h>
void adc_init(void); // A/D converter initialization
unsigned int adc_read(char a_pin);
Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:
Zdrojový kód: zdrojaky.zip
Overenie
Ako ste overili funkciu, napríklad... Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku hotového zariadenia.

Video:
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.