BEEP用タイマ設定メソッドを追加
@@ -35,3 +35,26 @@ | ||
35 | 35 | { |
36 | 36 | timman->IntHandler(); |
37 | 37 | } |
38 | + | |
39 | +void PIT::BeetSetCounter(int cnt) | |
40 | +{ | |
41 | + io_out8(PIT::Port::CR, PIT::CH::CH2 | PIT::CountAccessMode::LH | PIT::CountMode::M3Bin); | |
42 | + io_out8(PIT::Port::Cnt2, cnt & 0x00ff); | |
43 | + io_out8(PIT::Port::Cnt2, (cnt >> 8) & 0x00ff); | |
44 | +} | |
45 | + | |
46 | +void PIT::BeepOn() | |
47 | +{ | |
48 | + uint8_t reg = io_in8(PIT::Port::System); | |
49 | + reg |= 0x03; | |
50 | + reg &= 0x0f; | |
51 | + io_out8(PIT::Port::System, reg); | |
52 | +} | |
53 | + | |
54 | +void PIT::BeepOff() | |
55 | +{ | |
56 | + uint8_t reg = io_in8(PIT::Port::System); | |
57 | + reg &= 0x0d; | |
58 | + io_out8(PIT::Port::System, reg); | |
59 | +} | |
60 | + |
@@ -59,6 +59,12 @@ | ||
59 | 59 | static void Init(); |
60 | 60 | |
61 | 61 | static void IntHandler(); |
62 | + | |
63 | + static void BeetSetCounter(int cnt); | |
64 | + | |
65 | + static void BeepOn(); | |
66 | + | |
67 | + static void BeepOff(); | |
62 | 68 | }; |
63 | 69 | |
64 | 70 | #endif /* PIT_H_ */ |