AL白 2023-05-04 14:33 采纳率: 0%
浏览 17

STM32运行RTX程序跑飞

使用STM32F407,在Keil环境下运行RTX,定义函数传入的参数是整个结构体的话,程序会跑飞,但是编译不会报错,并且调试的时候并不会运行到那一个传入结构体的函数,即使不运行到他,但是运行完一轮这个线程就会跑飞,屏蔽了就正常,请教一下这个是什么原因?有什么办法以后避免吗

程序示例:

typedef strucu{
    uint8_t data[1024];
    uint8_t cnt;
}test_s;

test_s test;

__task void Test_Handler(void)
{
   uint8_t a=0;

  while(1)
  {
     //调试的时候并不会运行到这里面的程序
     if(a>2)
    {
      test_fun1(test);  //会跑飞,并且没有什么提示警告
      test_fun2(&test);  //不会跑飞
    }
    os_dly_wait(10);
  }
  
}

void test_fun1(test_s  s)
{
    //没有内容,会跑飞
}

void test_fun2(test_s  *s)
{
    //没有内容,不会跑飞
}

  • 写回答

2条回答 默认 最新

报告相同问题?

问题事件

  • 修改了问题 5月4日
  • 创建了问题 5月4日

悬赏问题

  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES
  • ¥15 结构功能耦合指标计算
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥15 悬赏Python-playwright部署在centos7上