串行异步发送方式的程序编写步骤:
1、选择合适的波特率,然后算出SPBRG中应有的初始值,并将其置入SPBRG中。如果是高速波特率,还应置BRGH=1。
2、设置SYNC=0及SPEN=1,使其工作于异步串行工作方式。
3、如需中断功能,置TXIE=1。
4、如需传送9位数据,置TX9=1。
5、置TXEN=1,使USART工作于发送器方式,这也会使TXIF被置1。
6、如果选择传送9位数据,这时要把第9位数据置入TX9D。
7、把即将发送的8位数据送入TXREG并启动发送,硬件开始自动发送。
8、如果使用中断方式,务必确保中断屏蔽位GIE和PEIE位被置1。
串行异步接收方式的程序编写步骤:
1、选择合适的波特率,然后算出SPBRG中应有的初始值,并将其置入SPBRG中。如果是高速波特率,还应置BRGH=1。
2、设置SYNC=0及SPEN=1,使其工作于异步串行工作方式。
3、如需中断功能,置RCIE=1。
4、如需接受9位数据,置RX9=1。
5、置CREN=1,激活接收器。
6、当一个字节接收完成后,产生中断请求(RCIF=1),如果RCIE=1,便产生中断。
7、读RCSTA寄存器一边获取第9位数据(如果选择了接收9位数据的话),并且判断是否在接收过程中发生了错误。
8、读RCREG寄存器中已经收到的8位数据。
9、如果发生了接收错误,通过置CREN=0以清除错误标志位。
10、如果使用中断方式,务必确保中断屏蔽位GIE和PEIE位被置1。