C语言 同一时刻赋值问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:37:46
我在用NIOSII IDE编程,一个很简单的程序,就是希望在同一时刻给两个端口赋值。
例如用端口1和端口2,
*(unsigned int *)PIO_1_BASE = led;
*(unsigned int *)PIO_2_BASE = clk_1;
这样两个语句,我希望两个端口在同一时刻输出数值,但是运行的时候,端口2的数值总是比端口1延迟一段时间输出,这是因为赋值语句*(unsigned int *)PIO_1_BASE = led;产生延时吗?
怎样能实现在同一时刻对两个端口幅值? 希望高手帮忙解答,多谢。

赋值语句有先后,得到值的时间当然有先后,但这个时间差应当很短。
可察觉的延迟,是不是别的原因引起的?

向端口输出,是否有专门函数,例如 IOWR_....(..).而不是用你的赋值语句。

这个...应该需要硬件支持吧.

我所知道的是, 某些芯片支持VLIW & SIMD, 可以同时往多个寄存器写入数据...

你去查查手册

呵呵,怎么可能是因为赋值的原因。

建议你把两句语句换个位置,看看结果是否相反,告诉我结果,或许可以想想办法。

不可能吧,

aa