有没有哪位学关于STM32的编程帮我看看这段代码的意思

int SensorTest(void)
{
int i, j;
uint8_t index = 0;
uint8_t DispBuf[100], temp[10];
for(i=0; i<20; i++) {
if(0 == SensorScan(0x31+i, RdBuf)) { //0x31为0
ValidID[index] = 0x31+i;
sprintf((char*)DispBuf, " %2X %d ", ValidID[index], RdBuf[0]);
for(j=0; j<RdBuf[0]; j++) {
sprintf((char*)temp, " %2X", RdBuf[1+j]);
if(RdBuf[1+j] < 0x10) temp[1] = '0';
strcat((char*)DispBuf, (char*)temp);
}
for(j=strlen((char*)DispBuf); j<50; j++) {
DispBuf[j] = ' ';
}
DispBuf[j] = 0;

LCD_DisplayStringLine(LCD_LINE_5 + LCD_GetFont()->Height*index, DispBuf);
index++;
}
Delay(50);
}
if(index < 6) {
for(i=index; i < 2; i++) {
sprintf((char*)DispBuf, " ");
LCD_DisplayStringLine(LCD_LINE_5 + LCD_GetFont()->Height*i, DispBuf);
}
}
for(i=0; i<6; i++) ValidID[i] = 0;
return index;

这是一个LCD的显示的程序,首先是从ReBuf中读取出数据(ReBuff[0]中存储的是ReBuff中数据的长度),接下来for(j=0; j<RdBuf[0]; j++) {sprintf((char*)temp, " %2X", RdBuf[1+j]);就是将数据送入LCD显示,剩下的是用户自己需要对这些数据的处理,例如strcat串链接,for(j=strlen((char*)DispBuf); j<50; j++) {
DispBuf[j] = ' ';空白字符填充显示区,LCD_DisplayStringLine显示串行。这些是根据你程序需要实现的功能未执行的操作。追问

非常感谢呢!能不能具体一下我能加你q问问么,毕业答辩需要的额

追答

2500388820

温馨提示:答案为网友推荐,仅供参考
相似回答