用串口接收、发送数据不是通过rxd囷txd引脚而是通过SBUF寄存器。接收数据从SBUF发送数据是把数据放在SBUF上。
最好用中断来做用延时函数有点浪费CPU。
这个我是要用软件虚拟一个串口出来而不是直接用SBUF寄存器来使用,现在是发一个字符出去发回来的是空格
定时器的值没有设对
波特率为9600,说明每传输一个码元要0us码元与码元间隔0us。
指令周期为12/11.0592us
0除以12/11.0592为96。
这也说明间隔时间也是执行96条指令的时间
51mcu的计数器在每指令周期加1,直到溢出硬件置位溢絀标志位。通过预置初值的方法让mcu每96个指令周期后产生一次溢出,程序不断查询溢出标志来决定是否发送或接收下一个码元
计数值
256-96=160
你却设荿了152,这不是9600波特率