最近仍然在研究那个邪恶的ADuC7026... 当初画PCB时未注意,发现有SIN(RXD)脚2个,SOUT(TXD)脚2个误认为该ARM有2个串口,没想到只有一个... 但可自由配置引脚,比如设置1个RXD和2个TXD为GPIO模式,那么这3个脚就当GPIO用了,剩下那个RXD配置为串口模式的话,就是个半残废串口..只能收不能发,那么我现在的想法就是: 设置串口1,TXD0和RXD0为串口模式,TXD1和RXD1为GPIO,通讯都采用中断接受/发送模式,TXD0和RXD0平时有数据了就在中断模式中按自定义协议判定要做什么事,比如接下去要接受XXX大小的数据块,又比如需要发送本机状态给上位机,也就是说这个“串口”完全是【被动地通过中断模式等命令以确定下面是要接受还是发送】。 然后比如把这个受控的系统作为一个“上位机”控制下级模块,那么就设置TXD0和RXD0为GPIO,TXD1和RXD1为串口模式,这样的话由这个系统发送相应的命令字给下级模块,告知例如接下去有数据要传给下级模块,或者是需要下级模块传送数据给本机...那么这个“串口”就是【主动地发送命令要求下位机接受/发送数据包】 但总感觉这个方法有些问题...比如正在和下级模块通讯着呢,突然上位机来紧急命令了,等串口引脚功能切换回去的时候再处理可能就来不及了...头都大了............ |