小编use*_*581的帖子

嵌入式C UART约定

我需要有关处理UART通信的正确方法的建议.我觉得我已经完成了通过UART发送串行命令的处理,但我不知道我解析响应或接收串行数据的方式是否是最好的方法.任何提示都很受欢迎,但我只是想知道是否有更好,更优雅的解析UART RX的方法.

这是一个MSP430 uC的方式......

首先,我在头文件中声明了这些:

const unsigned char *UART_TX_Buffer;
unsigned char UART_TX_Index;
unsigned char UART_TX_Length;
unsigned char UART_TX_Pkt_Complete;

unsigned char UART_RX_Buffer[25];
unsigned char UART_RX_Pkt_Complete;
unsigned char UART_RX_Index;
Run Code Online (Sandbox Code Playgroud)

这是在ISR中设置标志UART_RX_Pkt_Complete后调用的函数:

void Receive_Resp()
{
    switch (UART_RX_Buffer[UART_RX_Index - 3])
    {
    case 0x4B:
        break;
    case 0x56:
        P1OUT &= ~(tos_sel0 + tos_sel1);
        break;
    case 0x43:
        P1OUT |= tos_sel0;
        P1OUT &= ~tos_sel1;
        break;
    case 0x34:
        P1OUT |= tos_sel1;
        P1OUT &= ~tos_sel0;
        break;
    case 0x33:
        P1OUT |= tos_sel0 + tos_sel1;
        break;
    default:
        break;
    }
    UART_RX_Pkt_Complete = 0; …
Run Code Online (Sandbox Code Playgroud)

c embedded firmware msp430

2
推荐指数
1
解决办法
2377
查看次数

标签 统计

c ×1

embedded ×1

firmware ×1

msp430 ×1