| 123456789101112131415161718192021222324252627 |
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <sys/io.h>
- #include <stdint.h>
- #include <string.h>
- int main(void)
- {
- unsigned char val;
- if (ioperm(0xA45, 1, 1) < 0 || ioperm(0xA46, 1, 1) < 0 || ioperm(0xEB, 1, 1) < 0) {
- perror("Failed to request I/O port permission");
- return 1;
- }
- outb(0x00,0xA45);
- outb(inb(0xA46) | 0x40, 0xA46);//update VBAT
- outb(0x00,0xEB);
- outb(0x00,0xEB);
- outb(0x00,0xEB);
- outb(0x28,0xA45);
- val = inb(0xA46);//read VBAT
- printf("VBAT value = %dmv\n", val * 2 * 11);
- }
|