llyymm 发表于 2023-7-11 20:53:26

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

STC32G单片机,使用CAN网络通信,IO口P50定义为PWM_POWR;即控制一个变频元件电源的继电器,我用CAN读取这个IO状态发送出来,发现与实际状态不符!例:PWM_POWR = ~PWM_POWR;
                                        TX_BUF = PWM_POWR;
                                        CanSendMsg(0x0666,TX_BUF);//将IO口状态读取并发送出去,但是结果如图1,只有一种状态,但是我随便加入一个变量,IO状态又能被读取出来了?!哪位老师能给讲一下原因吗?

kksk 发表于 2023-7-11 22:09:12

IO改变后加几个nop,写了之后不是立即能读出来的

神农鼎 发表于 2023-7-11 22:58:04

建议外部加个10K上拉电阻,或打开内部新增加的 4K 上拉电阻

llyymm 发表于 2023-7-11 23:34:21

收到,我明天试试{:handshake:}
页: [1]
查看完整版本: 为何CAN读取IO口的状态不对?