本帖最后由 y18370990546 于 2018-4-13 11:54 编辑
蓝牙串口软件发送数据,单片机控制led灯异常,发送0X01所有灯都亮
不知为何? 程序如下,求指教
#include<xc.h>
void USART_Init();
void main()
{
TRISD=0X00;
LATD=0X00;
USART_Init();
while(1)
{
;
}
}
void USART_Init()
{
APFCON1bits.TXSEL=0; //TX=RC6
APFCON1bits.RXSEL=0; //RX=RC7
TRISCbits.TRISC6=0;
TRISCbits.TRISC7=1;
SP1BRGL=25;
TXSTAbits.SYNC=0; //异步模式
TXSTAbits.BRGH=1; //高波特率方式
TXSTAbits.TX9=0; //不发送第九位
TXSTAbits.TXEN=0; //发送不使能;
// 以上四句即 TXSTA=0X04;
RCSTAbits.SPEN=1; //串行端口使能
RCSTAbits.RX9=0; //接收8位
RCSTAbits.CREN=1; //接收使能
// 以上三句即 RCSTA=0x90;
PIE1bits.TXIE=0;
PIR1bits.RCIF=0;
PIE1bits.RCIE=1;
INTCONbits.PEIE=1;
INTCONbits.GIE=1;
}
void interrupt usart(void)
{
if(PIE1bits.RCIE&&PIR1bits.RCIF)
{
LATD=RC1REG;
}
}
|