找回密码
 立即注册
查看: 592|回复: 3

为何CAN读取IO口的状态不对?

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:322
  • 最近打卡:2025-05-02 10:02:36
已绑定手机

21

主题

487

回帖

1041

积分

金牌会员

积分
1041
发表于 2023-7-11 20:53:26 | 显示全部楼层 |阅读模式
STC32G单片机,使用CAN网络通信,IO口P50定义为PWM_POWR;即控制一个变频元件电源的继电器,我用CAN读取这个IO状态发送出来,发现与实际状态不符!例:PWM_POWR = ~PWM_POWR;
                                        TX_BUF[6] = PWM_POWR;
                                        CanSendMsg(0x0666,TX_BUF);//将IO口状态读取并发送出去,但是结果如图1,只有一种状态,但是我随便加入一个变量,IO状态又能被读取出来了?!哪位老师能给讲一下原因吗?

截屏1,使用图1代码

截屏1,使用图1代码

代码方式1

代码方式1

代码方式2

代码方式2

截屏2,可以正确读取

截屏2,可以正确读取
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:328
  • 最近打卡:2025-03-09 19:40:01

9

主题

328

回帖

4501

积分

荣誉版主

积分
4501
发表于 2023-7-11 22:09:12 | 显示全部楼层
IO改变后加几个nop,写了之后不是立即能读出来的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2023-7-11 22:58:04 | 显示全部楼层
建议外部加个10K上拉电阻,或打开内部新增加的 4K 上拉电阻
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:322
  • 最近打卡:2025-05-02 10:02:36
已绑定手机

21

主题

487

回帖

1041

积分

金牌会员

积分
1041
发表于 2023-7-11 23:34:21 | 显示全部楼层
收到,我明天试试
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 00:38 , Processed in 0.179963 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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