ВУЗ:
Составители:
81
Ʌɚɛɨɪɚɬɨɪɧɚɹ ɪɚɛɨɬɚ ʋ 8
ɉɊɈȽɊȺɆɆɂɊɈȼȺɇɂȿ ɆɂɄɊɈɄɈɇɌɊɈɅɅȿɊɈȼ
ɇȺ əɁɕɄȿ ɋɂ
ɐɟɥɶ ɪɚɛɨɬɵ: ɂɡɭɱɟɧɢɟ ɢ ɨɫɜɨɟɧɢɟ ɦɟɬɨɞɢɤɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɦɢɤɪɨ-
ɤɨɧɬɪɨɥɥɟɪɨɜ ɧɚ ɹɡɵɤɟ ɋɂ.
Ɂɚɞɚɧɢɟ ɤ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɟ
ɂɡɭɱɢɬɶ ɩɪɨɝɪɚɦɦɭ Lab8.c ɢ ɮɚɣɥ ɩɪɨɟɤɬɚ Lab_8.prj. Ɉɬɥɚɞɢɬɶ ɩɪɨɝɪɚɦɦɭ
ɜ ɫɪɟɞɟ VMLab, ɩɨɞɤɥɸɱɢɜ ɧɟɨɛɯɨɞɢɦɭɸ ɩɟɪɢɮɟɪɢɸ ɤ ɦɢɤɪɨɤɨɧɬɪɨɥɥɟɪɭ
AVR – ɢɧɬɟɪɮɟɣɫ UART. ɉɪɨɝɪɚɦɦɚ ɜɜɨɞɢɬ ɱɟɪɟɡ ɭɫɬɪɨɣɫɬɜɨ UART ɰɟɥɨɟ
ɱɢɫɥɨ, ɢɡɜɥɟɤɚɟɬ ɤɨɪɟɧɶ ɤɜɚɞɪɚɬɧɵɣ, ɜɵɱɢɬɚɟɬ 23 ɢ ɜɵɜɨɞɢɬ ɪɟɡɭɥɶɬɚɬ ɱɟɪɟɡ
ɭɫɬɪɨɣɫɬɜɨ UART. ɇɚ ɪɢɫ 31 ɩɪɟɞɫɬɚɜɥɟɧɵ ɪɟɡɭɥɶɬɚɬɵ ɦɨɞɟɥɢɪɨɜɚɧɢɹ ɩɪɨ-
ɝɪɚɦɦɵ ɧɚ ɹɡɵɤɟ ɋɂ.
Ɋɢɫ. 31. Ɋɟɡɭɥɶɬɚɬɵ ɦɨɞɟɥɢɪɨɜɚɧɢɹ ɩɪɨɝɪɚɦɦɵ ɧɚ ɹɡɵɤɟ ɋɂ
82
Ɏɚɣɥ Lɚb_8.prj
.TOOLCHAIN "GCC"
.MICRO "ATmega16"
.SOURCE "lab8.c"
.TARGET "lab8.hex"
.GCCPATH "c:\winavr"
.GCCMAKE AUTO
.MICRO "ATmega16"
.TRACE ; Activate micro trace
.POWER VDD=5 VSS=0 ; Power nodes
.CLOCK 8meg ; Micro clock
.STORE 250m ; Trace (micro+signals) storage time
X1 TTY(19200 8 0 0 1 2) PD0 PD1 ; Place an interactive TTY cell.
.PLOT V(PD0) V(PD1)
Ɏɚɣɥ Lab8.ɫ
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/pgmspace.h>
#include <stdio.h>
#include <math.h>
#define TBUFSIZE 32
#define RBUFSIZE 32
#define TMASK (TBUFSIZE–1)
#define RMASK (RBUFSIZE–1)
// Static variables
unsigned char tbuf[TBUFSIZE]; // TX buffer
unsigned char rbuf[RBUFSIZE]; // RX buffer
unsigned char t_in; // TX buffer in index
unsigned char t_out; // TX buffer out index
unsigned char r_in; // RX buffer in index
unsigned char r_out; // RX buffer out index
SIGNAL(SIG_UART_RECV) {
//ɡɚɜɟɪɲɟɧɢɟ ɩɪɢɟɦɚ
char c;
c = UDR;
rbuf[r_in] = c;
r_in++;
}
Страницы
- « первая
- ‹ предыдущая
- …
- 39
- 40
- 41
- 42
- 43
- …
- следующая ›
- последняя »