xixia07m 2023-06-03 08:51 采纳率: 0%
浏览 9

这个C程序是如何引发执行的?

void uartTest(U32 *cmd)
{
U32 state_rcv=0,state_send=0,i,time_out;
U8 UartSendBuff[1024],UartRecvBuff[1024];

U32 first_data,step,Lenth,test_result=0,tmp=0;
U32 Uart_FiFO=0,time_out_flag=0,recv_lenth=0;

first_data=cmd[1];
step=cmd[2];
Lenth=(cmd[3]<<8)+cmd[4];

if(cmd[5]==0x11)//time_out EN:0x11
{
    time_out=50000;
    time_out_flag=0x11;
}
else 
{
    time_out=0;
    time_out_flag=0x22;
}

for(i=0;i<1024;i++)
{    
    UartRecvBuff[i]=0;    
    UartSendBuff[i]=0;    
}
if((cmd[0]==0)||(cmd[0]==7)||(cmd[0]==8))
{
    if(Lenth>1024)
    {
        Uart_FiFO=1024;
    }
    else Uart_FiFO=Lenth;        
}
else
{
    if(Lenth>256)
    {
        Uart_FiFO=256;
    }
    else Uart_FiFO=Lenth;
}
  • 写回答

3条回答 默认 最新

  • 梦幻编织者 2023-06-03 09:03
    关注

    这个C程序可能是一个函数,需要在其他程序中调用。调用时需要传入一个U32类型的指针cmd,其中包含了一些参数,例如数据的起始值、步长、长度等。函数会根据这些参数进行一些操作,最终返回一个测试结果test_result。具体的操作包括初始化一些变量、根据数据长度确定缓冲区的大小、根据参数判断是否开启超时等。最终根据不同的cmd[0]值,选择不同的缓冲区大小。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月3日

悬赏问题

  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计