找回密码
 立即注册
查看: 700|回复: 14

printf怎么打印 局部变量啊 | 全局变量

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-10-7 18:42:33 | 显示全部楼层 |阅读模式
printf打印全局变量没问题

但是我要打印局部变量,老是报错。打印不了 图1
如果我想打印这个中断里面的 变量n 。
就会出现图2,同时串口和电脑的连接也会中断。串口扫描那个地方就空白了  如图3

截图202410071838407526.jpg

截图202410071840475748.jpg

截图202410071842201483.jpg

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 2024-10-7 19:13:26 | 显示全部楼层
提示未定义,2个函数里面的局部变量不互通吧。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-10-7 19:25:12 | 显示全部楼层
so*** 发表于 2024-10-7 19:13
提示未定义,2个函数里面的局部变量不互通吧。

那如果我想打印局部变量,,要怎么弄哦?

点评

改成全局变量,你这样没有变量传递手段,其他函数内是调用不到局部变量的  详情 回复 发表于 2024-10-7 20:13
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-10-7 20:13:18 | 显示全部楼层
vb2*** 发表于 2024-10-7 19:25
那如果我想打印局部变量,,要怎么弄哦?

改成全局变量,你这样没有变量传递手段,其他函数内是调用不到局部变量的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-10-7 20:48:35 | 显示全部楼层
王*** 发表于 2024-10-7 20:13
改成全局变量,你这样没有变量传递手段,其他函数内是调用不到局部变量的 ...

ok  以后要调用那个局部变量的话,只能先转成全局变量观察。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-10-7 20:59:19 | 显示全部楼层
局部变量一定要在作用域范围内赋值或者printf输出,如果超出作用域,那就需要转移赋值给全局变量再输出了
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-10-7 23:26:45 | 显示全部楼层
晓*** 发表于 2024-10-7 20:59
局部变量一定要在作用域范围内赋值或者printf输出,如果超出作用域,那就需要转移赋值给全局变量再输出了 ...

好的飞哥,记住了。
以后我要监控某个变量。转成全局变量再printf
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-03-06 09:25:41

8

主题

318

回帖

1835

积分

金牌会员

积分
1835
发表于 2024-10-8 11:02:50 | 显示全部楼层
你的printf重定向到哪里了
是不是CDC串口?
定时器0的中断优先度很高
如果在定时中断里有死等其他中断(如USB)的代码就会死机
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:198
  • 最近打卡:2025-05-01 00:16:05
已绑定手机

24

主题

345

回帖

1629

积分

金牌会员

积分
1629
发表于 2024-10-19 21:47:35 | 显示全部楼层
Lkck*** 发表于 2024-10-8 11:02
你的printf重定向到哪里了
是不是CDC串口?
定时器0的中断优先度很高

学习到了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-30 13:52:43

10

主题

134

回帖

993

积分

高级会员

积分
993
发表于 2024-10-19 22:17:53 | 显示全部楼层
函数内的变量的作用域只在本函数内,其他地方是不能访问的。其他地方要知道这个局部变量是多少需要通过一些方式把变量值传递出去,或者把局部变量换成全局的。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 23:57 , Processed in 0.155013 second(s), 127 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表