c - 键盘上编程键的开关盒。到目前为止这似乎正确吗?

标签 c pic

我想为每个键盘键分配一个字符,并具有功能键,例如shift + a 给出A 或Ctlr + Alt + Delete 等。到目前为止,这看起来不错吗?如果是或否,您有什么建议?

// TO EDIT CASES
    int cases ;
    switch (cases)
{

// LETTERS & OTHERS
    case 0: // a A
        gesture_simple() ;
        if (GESTURE == 1) {
            BUFFER[1 + NB_TOUCH] = 0x14 ;
        }
        if (GESTURE == 5) {
            T_REL = 0x14 ;
        }
        RSOUT "A ", Int STAGE, 13;
        send_code() ;

case 67: // Left CTRL
        gesture_simple() ;
        if (GESTURE == 1) {
            BUFFER[0] = BUFFER[0] | 0b00000001 ;
        }
        if (GESTURE == 5) {
            BUFFER[0] = BUFFER[0] & 0b11111110 ;
        }
        printf("Left Ctrl", 13) ;
        send_code() ;

本质上,我正在尝试构建一个键盘。有 96 个按键,每个按键都有一个字符或功能。如何进行映射以及如何对每个键进行编程,以便当我按下按钮时,它将输入字符并在 RS 终端中打印按下的键?

最佳答案

也许这会有所帮助:

int main(void)
{
    int cases ;

    intitUART();          //initialize the UART as you want

    //do something....

    switch (cases)
    {
        case 0: 
             //do semething....
             printf("A");         //output 'A' to UART of your PIC controller
             printf("a");         // output 'a' in ASCII
             break;

        case 1: 
             //do semething....
             printf("B");
             break;
        //.....

        case 26: 
        default:
             //do semething....
             printf("Z");
             break;
    }
}

我想 MCC 会对您的 UART 配置有很大帮助。

关于c - 键盘上编程键的开关盒。到目前为止这似乎正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53114484/

相关文章:

c - 如何获取DSTH01 I2C通信的设备ID?

c - 在 XC8 V1.44 中对文字进行按位 OR 运算时出现间歇性转换警告

c - 强制结构内部 union 对齐

c - PIC24F16KA102 上的外部中断源

c - 追加到 C 文件的末尾

c++ - 实现 TCP 应用程序内置 shell 的简单方法

c - 将数组存储在Heap(C)中

c - 为什么我的代码崩溃了?

c - 中断 PIC CCS

c - C中printf()中单引号和双引号的区别