最近在调试串口协议时遇到些问题,向大家请教一下。
首先通过UART1_RecvString(RxBuff)将接收到的数据存入数组RxBuff中,然后判断数组RxBuff前两位是否等于0xaa和0xc0,如果等于将RxBuff输出。调试中发现无法进行等于判断,请问大家是否遇到相似的问题。
#include "CH57x_common.h"
UINT8 TxBuff[] = "This is a tx exam\r\n";
UINT8 RxBuff[100];
UINT8 trigB;
int main()
{
UINT8 len;
SetSysClock( CLK_SOURCE_PLL_60MHz );
/* 配置串口1:先配置IO口模式,再配置串口 */
GPIOA_SetBits( GPIO_Pin_9 );
GPIOA_ModeCfg( GPIO_Pin_8, GPIO_ModeIN_PU );// RXD-配置上拉输入
GPIOA_ModeCfg( GPIO_Pin_9, GPIO_ModeOut_PP_5mA ); // TXD-配置推挽输出,注意先让IO口输出高电平
UART1_DefInit();
while( 1 )
{
len = UART1_RecvString( RxBuff );
if ( RxBuff[0]==0xaa&&RxBuff[1]==0xc0)
{
UART1_SendString( RxBuff, len );
}
}
}