336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

원래 영문자료여서 한글과 영문이 섞여있음을 이해해주세요



Baudrate = Bit per Second

Fosc = System Clock Frequency (초기치는 1MHz이다. External Oscillator를 의미하기도 한다.)

UBBR = Contents of UBRRL and UBRRH Registers.  (UBRRL과 UBRRH 레지스터의 내용물이다.)

========================================================================================

Coding 시, Initializing UART가 중요하다. 단계는 아래와 같다.

1.Setting하기 BaudRate를.

2.Setting하기 Data Size를.

3.활성화시키기 Rx, Tx를 (UCSRB의 TXEN과 RXEN를 1로 Set시킨다.)

4.Setting하기 Parity비트와 Stop비트들을.

1
2
3
4
5
6
7
8
9
10
11
12
// define some macros
#define BAUD 9600                         // define baud
#define BAUDRATE ((F_CPU)/(BAUD*16UL)-1)  // set baud rate value for UBRR
  
// function to initialize UART
void uart_init (void)
{
    UBRRH = (BAUDRATE>>8);                      
// shift the register right by 8 bits
    UBRRL = BAUDRATE;                           
// set baud rate
    UCSRB|= (1<<TXEN)|(1<<RXEN);                // enable receiver and transmitter
    UCSRC|= (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1);   // 8bit data format
}

Explanation(=설명)

보드레이트를 세팅하기위해 사용된 변수는 BAUD이다.

BAUDRATE는 정의된다. as per 계산식에 따라.

(as per : 비율, 가격, 측청값, 특정 체계, 계획 등을 언급할 때 사용)

(according to : 사람, 서적, 문서, 등을 언급할 때 사용)


한가지 기억해야할건 that UCSRCUBRRH는 공유한다. 같은 I/O 위치를.

그래서 selection/switching 을 제어하는 bit는 URSEL bit이다. in the UCSRC 레지스터안의.

이건 만은 혼동을 야기한다.

만약 이 비트가 올바르게 다뤄지지 않는다면, UART는 동작하지않는다.


만약 URSEL이 Zero이면 during a Write Operation동안에,

the UBRRH값은 will be 업데이트 될것이다.

만약 URSEL이 One이면,

the UCSRC 세팅이 will be 업데이트 될것이다.

이건 의미한다. URSEL 비트가 0이면, even if 우리가 addressing(=교신선택)할지라도 UCSRC를

UBRRH는 will be addressed될것이다.

=========================================================================================




BaudRate를 계산할때 표를 사용하면 편하다. (왼쪽 아이콘을 클릭)

UBRR = UBRRH * 256 + UBRRL;



Posted by ElectricShock
:
BLOG main image
잡동사니들(지극히 개인취향인...) (다른글에도 댓글 부탁해요♥) You May Leave English Messages on GuestBook. by ElectricShock

공지사항

카테고리

분류 전체보기 (782)
Programming(=프로그래밍) (3)
MiDi (2)
Animation (4)
Blender (3D Graphic Program.. (10)
Blendtuts.com (Series) (1)
Blender 기초 팁들 (2)
Processing (디지털미디어과) (2)
Music (1)
Books in the world (0)
Communication(CAN, UART, et.. (12)
MCU Examples (PIC 기반) (7)
Transistor (1)
Mikro C Pro (11)
Mikro Pascal (1)
Proton IDE (0)
Robot (0)
Swift 3D (1)
Dummies Series (1)
All about Hacking (0)
제2 외국어 (1)
PIC 해외서적들 (3)
AVR (25)
PIC (MikroC) (MPLAB) (4)
Assembly (2)
ARM (3)
Arduino (26)
PSpice (1)
Proteus ISIS (14)
CodeVision (2)
FPGA (15)
MPLAB (24)
PCB (the Procedure) (15)
3D Printer (5)
PICKIT3 (6)
Matlab (11)
RaspBerry PI (15)
BeagleBone (1)
Android Studio (17)
졸업작품 (172)
Korea History (0)
Issue(사회) (73)
Multimeter 리뷰 (1)
Oscilloscope (1)
A (34)
B (19)
J (6)
C (32)
P (12)
T (37)
H (12)
I (12)
M (44)
R (5)
E (5)
F (2)
D (9)
O (2)
L (7)
S (9)
W (2)
V (6)
G (14)
Visual C++ or Visual Studio (2)
Android App Development (0)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백