工具/软件:Code Composer Studio
我编写了一个 func、这样、即使引导加载程序剂量不会返回任何内容或错误消息、我也可以通过 UART 接收来自引导加载程序的正确消息。
void sendcmd (UART_Handle UART、uchar Cmd、const uchar * pcSendData、uchar SendLen_data)//命令+数据(通过第三个参数判断数据指针叠加的数),最终发送数据:第一字节为总的发送内容的长度
{//第二字节为校验和=cmd+data
uchar length_all = SendLen_data + 3;//第三字节即为cmd
//uchar pdata[length_all];//后面即为接着cmd的数据,可以没有,因此最短长度为3
uchar pdata[3];
pdata [0]= length_all;
pdata[1]= generateChecksum (Cmd、pcSendData、SendLen_data);
pdata [2]= Cmd;
if (UART_WRITE (UART、pdata、3)!= 3)//数组的长度不确定,因此分批发送
errorhandle();
int i;
for (i=0;<SendLen_data; i++)
{
//pdata[2+i]= pcSendData[i];
uchar data_1byte =*(pcSendData+I);
if (UART_WRITE (UART、&DATA_1byte、1)!= 1)
errorhandle();
}
//if (UART_WRITE (UART、pdata、length_all)!= length_all)
// errorhandle();
}
void sendcmd_right (UART_Handle UART、uchar Cmd、const uchar * pcSendData、uchar SendLen_data)
{
int x=0;
uchar rec_data[2];
REC_DATA[0]= 0x00;
REC_DATA[1]=0x00;
while (!(rec_data[0]= 0x00&&rec_data[1]=0xcc))
{
sendcmd (UART、Cmd、pcSendData、SendLen_data);
x = UART_READ (UART、rec_data、2);
}
}