打印
[PIC®/AVR®/dsPIC®产品]

dsPIC33F I/O口写操作不能立即生效的问题

[复制链接]
794|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 zhaobluesky 于 2023-8-3 10:37 编辑

有一个问题请教一下
我使用G端口的RG0,RG1,RG12,RG13,RG14作为普通I/O口输出高低电平,RG2,RG3和RG6,RG8作为I2C接口,RG7作为其中一个I2C的E2PROM芯片的写允许。
现在的问题是:   我控制RG0,RG1,RG12,RG13,RG14作为普通I/O口输出高低电平时,有时不能成功输出低电平。
程序如下:
这段程序是在中断服务程序中的,监控TRISG寄存器,I/O口方向并没有改变,检查了I2C程序也没有发现有改变I/O: RG0,RG1,RG12,RG13,RG14方向的。上面是RG1口有这种现象,其他I/O口也有这种现象。现在想不明白这是什么原因,特向大家请教,谢谢!

使用特权

评论回复
沙发
tpgf| | 2024-2-5 09:01 | 只看该作者
楼主有没有实测过 大概需要多长时间才会生效呢

使用特权

评论回复
板凳
guanjiaer| | 2024-2-5 10:05 | 只看该作者
建议楼主延时一段时间,然后再确认电平是不是发生了变化

使用特权

评论回复
地板
八层楼| | 2024-2-5 17:55 | 只看该作者
我在ti的芯片上也发现这个问题了  不知道如何解决

使用特权

评论回复
5
观海| | 2024-2-5 18:28 | 只看该作者
我觉得这是正常现象啊  因为执行指令还得需要多少个指令周期呢

使用特权

评论回复
6
heimaojingzhang| | 2024-2-5 18:59 | 只看该作者
这个就是随机的 如果多加几个nop语句就能好点

使用特权

评论回复
7
SophiaOP| | 2024-2-21 16:02 | 只看该作者
有其他地方改了这个变量吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝