没必要,改变定时器的初值就是为了针对不同的晶振使得串口的波特率一样,只要两者的波特率相同,就可以通信的,对晶振没有要求。至于单片机用11.0592的晶振,是因为对于常用的波特率,比如9600,在11.0592的晶振下初值是一个整数,这样子利于计算初值,减小误差。
单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。
两单片机如果是串口通信时,最好当然是用特殊的晶振比较好。这样算出的波特率会更准确,每个处理器关于波特率的计算是不同的,像你说的11.0592晶振在某些单片机可以算出一个准确的波特率,可能在其他的单片机就不一定了。如果在ARM中,它一般都有倍频,所以频率可以很高,如果不用特殊的晶振都可以做出一个比较准确的波特率。(如果两通信的处理器的运行时的波特率与约定的波特率误差越小,通信的成功率就越高,反之则低。)
你说的要改变定时器,其实是不用的。一般单片机都有一个固定的串口模块可以直接输出串行数据块,只要你根据晶振与处理器的波特率设设置方式,制定你想要的波特率就可以了,不用自己处理定时器的问题。
如果你不用串口通信,则处理器的晶振就可以根据两通行处理器的约定协议的要求确定晶振频率就可以了,一般约定协议的频率越高,晶振频率要求也当然要高了。
肯定不需要晶振是一致的了,只要保证通信的时钟能够同步即可,而且晶振也不是非得要这个11.0592的频率的
改变定时器的初值就是为了针对不同的晶振使得串口的波特率一样,只要两者的波特率相同,就可以通信的,对晶振没有要求。至于单片机用11.0592的晶振,是因为对于我们常用的波特率,比如9600,在11.0592的晶振下初值是一个整数,这样子利于我们计算初值,减小误差。
不需要晶振一致, 只要求通讯波特率一致就可以