【发布时间】:2020-05-17 09:06:53
【问题描述】:
我正在将 HMI TFT 屏幕与 PIC 16F877A 连接,该屏幕具有发送和接收数据的协议。我想解码接收到的数据以读取所需的信息,而不需要任何额外的值。我曾考虑通过制作一个数组并将数据保存在其中来保存接收到的数据,并获取我想要读取的所需字节。
这是TFT的协议,下面是设计的代码。AA 78 00 01 0F CC 33 C3 3C(我只想看(0F)的部分)
int uart_rd; //UART read variable
typedef unsigned char INT8U;
typedef unsigned long INT32U;
void Read_Bytes(INT8U *str, INT32U Num) {
INT32U i;
for (i = 0; i < Num; i++) {
str[i++] = UART1_Read();
}
}
void main() {
UART1_Init(115200); //Uart baud at 115200
while (1) { // Endless loop
if (UART1_Data_Ready() == 1) {
Read_Bytes(str_read, 9);
uart_rd = str_read[3];
if (uart_rd == 0x0F) {
PORTB.B2 = 1;
}
else {
PORTB.B2 = 0;
}
}
}
}
【问题讨论】:
标签: arrays byte decode pic uart