-
환경
-
4X4 keypad를 이용하여 계산기 만들기
PORTB, PORTD는 7-segment(debug)에 연결, PORTE는 4x4 keypad에 연결한다.
설계조건:
- operator: +, -, x
- 입력되는 숫자와 연산기호, 해답은 LCD에 출력
- 한 항에 입력되는 숫자의 크기는 세자리 수 이하
주요함수 | Description |
---|---|
KeySet | 키 입력값을 받는다 |
TEMP_Oper | 숫자가 입력될 때마다 입력된 항에 대해 계산한다 |
-
CAN 통신 실습 MCU의 CAN transcevier(pca82c250)측의 CAN_H, CAN_L는 CAN BUS level의 신호이다.
TX,RX pin은 PORTD.5,D.6에 연결된다. 이 pin을 다른 transcevier인 CAN_to_usb 케이블(kvaser)에 연결한다.
PORTE는 LED에 연결한다.
- led_part_2
-
PC에서 전송되는 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700, 0x800,0x150, 0x250의 10개 CAN Frame Data를 수신하고,
LED에 수신될 때마다 Toggle 할 것 (D9-0x100, D10-0x200, … D16-0x800, D23-0x150, D24-0x250)
-
AT90CAN128 보드에서 3개의 Tx Data 송출할 것
Tx Data: 0x110(10msec), 0x210(50msec), 0x310(100msec)
주요함수 | Description |
---|---|
initPort | PORT를 초기화한다. |
can_init | CAN통신 관련 레지스터를 초기화한다 |
can_int_rx_set | 인자로 받은 Mob를 수신할 때 interrupt가 발생하도록 레지스터를 설정한다 |
can_tx | 인자로 받은 Mob를 송신하도록 레지스터를 설정한다 |
- 15 Mob(message object)를 담을 수 있는 data buffer(MOb는 CAN 프레임 기술자이다. 메일박스에 송수신되는 메시지의 동작모드 결정.).
- id tag, id mask는 11bit(rev 2.0A) or 29bit(rev 2.0B)
- data buffer는 8byte