问题一,举个最简单的例子,就是在“软件空间”,也就是所谓的地址空间中的一些特殊区域,是通过“一根导线”,连接到某个外部引脚上面的,这样,这个“地址空间”里面的数据发生改变,这个引脚对应就有软件上面的“0”、“1”两个值,比如高电平和低电平。
这只是一个非常形象的例子,实际硬件运作过程比较复杂,但是核心差不多就是这样,一般是通过特定的地址实现对硬件的控制——比如软件的存在是依赖存储器的,那么存储器硬件上的一种是电容,只要在这个电容上连接除了起存储作用的“引线”,还连接别的东东,就可以起到相应的作用了,比如点亮一个发光的东东。
疑问二:你说的赋予相应的脉冲,应该是给控制信号吧。大概过程可以描述下:首先软件写入特定的特殊地址,硬件检测到这种写入后反馈给硬件固化的“软件”(也可以叫固件,芯片们工作往往不只有硬件电路的参与,还有硬件本身带有的软件的参与),这种“软件”再“写回”给软件,这就完成了一次通信的过程。
实际硬件软件协同工作的过程非常复杂,《单片机原理》里面有比较细致的描述。所有回答中使用引号的词句表示这只是真实情况的一种近似或形容,不代表其真实工作过程。