本文主要是介绍【经验】PIC16F877A串口发送字符串问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PIC16F877A串口发送,查询方式,就为了调出这个费了我一天时间,原来是串口芯片电压问题,现总结如下:
1、注意232串口芯片供电电压,有5V和3.3V的
2、注意TXD、RXD接线,单片机的TXD接232芯片的R2OUT,单片机的RXD接232芯片的T2IN
3、注意ESP8266的UTXD接MCU的RX,URXD接MCU的TX
4、注意ESP8266的UTXD接232的T2IN,URXD接232的R2OUT
5、串口波特率设置成9600
6、注意连接线的可靠性,如果用线连的话一定要检查线和插座是否稳定连接
7、系统连线如下图所示
PIC16F877A串口发送
//以下是串口发送程序#include#define ucharunsigned char#define uint unsigned int__CONFIG(0x3B32);void delay2ms(uint x){uint a,b;for(a=x; a>0; a--)for(b=152; b>0; b--);}void UART_SendByte(unsigned char dat){TXREG=dat;while(TRMT==0);}void serial_init(){TRISC=0xbf;//设置RX为输入,TX为输出TXSTA=0x24;RCSTA=0x80;SPBRG=0x33;//本人使用的是8MHz晶振,9600=8000000/(16*(X+1))->X=51->X=0x33GIE=1;PEIE=1;RCIE=1;}void main(){serial_init();while(1){UART_SendByte(0x31);UART_SendByte(0x32);UART_SendByte(0x33);delay2ms(500);}}//以下是MCU发送AT命名给ESP8266的程序
这篇关于【经验】PIC16F877A串口发送字符串问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!