我们首先来看zigbee通过什么方式和m0处理器相关联,根据lpc11c14的处理器芯片电路原理图: Zigbee以串口的方式和一款spi转串口的芯片(sc16is752ipw,后面简称752)连接在一起,而sc16is752ipw芯片又通过spi总线和处理器建立联系,如果zigbee有数据到达,sc16is752ipw芯片会触发中断通过rszig_nirq线通知处理器,此时pio3_3口处于高电平: 通过读此端口,获取端口状态: 如果gpio3的中断屏蔽状态寄存器中的值为1,说明zigbee模块有数据到来,置zigbee状态标记位为1,: 同时调用zigbee中断处理函数,在此函数中,读752芯片中的iir寄存器中的状态位: 如果读到了数据0x04,说明752芯片数据准备好,此时去读752的RHR寄存器,从中取出从zigbee发送的数据 将数据放到一个全局变量数组里面,供应用程序调用,spi752_regread函数会调用spi_putget函数将读写标识,寄存器,通道号通过spi总线告知752芯片,而后通过spi总线接收数据: |