PIC12LF1822串口通信求助,弄了一个多星期了,看不出了实在·~

2019-07-15 21:21发布

要实现通过串口助手给单片机发一个数据,单片机再把数据回发给串口助手。仿真和ICD3在线调试都试了。能接收,放了颗LED做测试,但数据不对,也发不回来。

俺的智能蓝牙遥控调光LED格栅灯还差蓝牙遥控部分,实现了俺开源,大家一玩。
/************************************************************
项目名称:串口接收
要求:串口接收/发送
设计:robin_chen559
日期:2013.12.05
备注:
************************************************************/
#include<pic.h>              //包含头文件pic12lf1822.h
#include<stdio.h>

#define LED_G  RA0             //RA0为LED_G口
#define uchar unsigned char
#define uint  unsigned int

uchar Uart_Data = 0x00;


//子程序声明

void Init_star(void);       //系统初始化
void Init_UART(void);       //串口初始化
void Delay_MS(uint MS);     //延迟子程序

//子程序
void Init_star(void)        //系统初始化子程序
{
   OSCCON = 0b01101010;        //4M系统时钟
   APFCON = 0b10000100;        //端口复用定义RA5/4 RD TX,RA2 CPP
   TRISA  = 0b00101010;        //A口输入输出设置,RA5/1/3输入,RA4/0/2输出
   ANSELA = 0b00000000;        //RA2设模拟输入,其他全部是数字输入
}

void Init_UART(void)
{
INTCON  = 0b11000000;         //开总中断GIE,外设中断PEIE
TXIE    = 1;                  //允许发送中断
RCIE    = 1;                  //允许接收中断
TXSTA   = 0b00100110;         //串口配置字
RCSTA   = 0b10010000;         //接受寄存器配置P295
BAUDCON = 0b11001001;         //16位波特率计数器
SPBRGH  = 0b00000000;         //011,16位异步,9600波特率,查表103
SPBRGL  = 0b01111101;
}


void Delay_MS(uint MS)         //延时函数
{
  uchar i;
  uint j;

   for(i=0;i<MS;i++)       
      for(j=115;j>0;j--);         
}


void interrupt ISR(void)       //中断子程序无需声明
{
if(RCIF == 1)
{
   Uart_Data = RCREG;           //读串口数据  
   //LED_G = 0;       //test1

   TXIE   = 1;                  //开串口发送中断
   while(TXIF == 0);            //待串口准备好      
   TXREG = Uart_Data  ;         //Uart_Data
   while(TRMT == 0);            //串口发送中,等待
   TXIE   = 0;                  //防止串口发送中断一直申请
}
}


void main (void)             //主程序
{
Init_star();                //开机初始化
Init_UART();               //中断初始化


while(1)
{
   if(Uart_Data == 0x0A)
   {
    LED_G = 0;
   }
   if(Uart_Data == 0x0B)
   {
    LED_G = 1;
   }

  }
}



附件 :仿真包,原程序。malab8.7 proteus7.10

UART.rar 下载积分: 积分 -1 分
3.11 MB, 下载次数: 27, 下载积分: 积分 -1 分 原包
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。