몇일 전, 평소가던 식당이 아닌 다른 식당에서 저녁을 먹다가
애 아버지들의 이야기를 듣게 되었는데
이야기 중에, 대안학교로 남한산성쪽 학교 이야기가 나왔다.
공부도 잘하고, 하고 싶은대로 하고
애들이 가장 좋아하는거 머냐고 물으면 강에서 놀기 이런거 적어 낸다고 하면서
성적도 좋아 좋은 대학교 갔고
처음에는 적응못하다가 금세 따라간다고 이야기를 하는데
웬지 모르게, 결과론적인 모습에 치중을 하는게 아닐까? 라는 아쉬움이 들었다.
공부를 잘한다.
좋은 대학 갓다.
금세 따라가서 더 잘한다.
그러다가 이야기가 계속 진행되었는데
그런 학교 보내고 마음대로 하고 싶긴한데, 문제는
거기는 로또라는 것이다. 잘되면 대박이고 안되면 쪽박 아니냐
"내가 아이 책임져줄 만큼 잘살면 모르겠지만 그게 아니니
그래서 그냥 무난하게 보통 교육을 하는게 좋을것 같다."라는 이야기가 나왔다.
아.. 그래서 요즘 애들이 더더욱 안전빵으로 교육을 받아야만 하고
그것에 최적화가 되어있구나 싶었다.
그 이야기를 하시던 애 딸린 분들의 시대에는 알아서 먹고 살아라, 그래도 부모가 해줄수 있는 최대의 교육은 해주마 였을꺼고
그 부모들은, 넓은 벌판에서 배고프고 힘들지만 공부에 대한 걱정없이 살았고, 그분들의 부모 역시
알아서 굶어죽진 않고 잘 살겠지 하는 마음에 마음놓고 풀어서 키웠을텐데
이제는 그러지 못하고,
내 아이는 그래도 남들만큼은 해야 한다라는 강박관념과
대학도 못가면 인간 구실도 못한다.
대기업은 가야 한다 라는 생각으로 인해서 더더욱 각박한 세상이 되어가는게 아닐까라는 생각이 들었다.
잔인한 말일 수도 있지만,
그 아이가 밥 벌어 먹고 사는건 그 아이 자신이 결정할 일이겠지만
역설적으로... 부모가 이렇게 아이를 생각하는 마음으로 인해 아이를 망치는구나 라는 생각이 들었다.
USART Baud Rate Register (UBRR) 은 일종의 divider의 설정값으로, 클럭을 분기하는데 사용하는 값이라고 생각이 된다.
아무튼 16.0MHz 같은녀석은, Error 율이 0% 인녀석이 일반적으로 사용하는 115k 이하에는 없으므로 그리 좋지 않다.
그리고 U2X는
Bit 1 – U2Xn: Double the USART Transmission Speed
This bit only has effect for the asynchronous operation. Write this bit to zero when using synchronous operation.
Writing this bit to one will reduce the divisor of the baud rate
divider from 16 to 8 effectively doubling the transfer rate for
asynchronous communication
라고 나와있 듯, asynchronous 모드에서만 작동이 되며, 클럭을 두배로 증가시켜 에러율을 줄이는 효과를 보인다.
아무튼, USART / UART를 설정하는데 사용되는 레지스터는
UCSR0A, UCSR0B, UCSR0C 세가지가 있으며
UCSR0A에는 U2X를 제외하면 실질적으로 전부 Status 레지스터이다.
• Bit 7 – RXCn: USART Receive Complete
• Bit 6 – TXCn: USART Transmit Complete
• Bit 5 – UDREn: USART Data Register Empty
• Bit 4 – FEn: Frame Error
• Bit 3 – DORn: Data OverRun
• Bit 2 – UPEn: Parity Error
• Bit 1 – U2Xn: Double the USART Transmission Speed
• Bit 0 – MPCMn: Multi-Processor Communication Mode
UCSR0B에는 인터럽트와 , TX / RX enable 를 설정하며
• Bit 7 – RXCIEn: RX Complete Interrupt Enable
• Bit 6 – TXCIE: TX Complete Interrupt Enable
• Bit 5 – UDRIEn: USART Data Register Empty Interrupt Enable
• Bit 4 – RXENn: Receiver Enable
• Bit 3 – TXENn: Transmitter Enable
• Bit 2 – UCSZn2: Character Size
• Bit 1 – RXB8n: Receive Data Bit 8
• Bit 0 – TXB8n: Transmit Data Bit 8
UCSR0C에는 눈에 익숙한 N-8-1 (No Parity - 8bit data - 1bit stop) 이러한 설정값을 조절한다.
• Bit 7 – Reserved Bit
• Bit 6 – UMSELn: USART Mode Select
• Bit 5:4 – UPMn1:0: Parity Mode
• Bit 3 – USBSn: Stop Bit Select
• Bit 2:1 – UCSZn1:0: Character Size
• Bit 0 – UCPOLn: Clock Polarity