锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

dsPIC33F串口发送一个数组到发送寄存器-UART

时间:2022-08-19 22:00:01 ds30p1传感器ds30nb传感器ds30c1光电传感器

/* ****************************************************************  ** 功能描述: 串口测试,将数组发送到寄存器  *************************************************************** */  #include  "p30f6014.h"   //ds30f6014头文件  unsigned int send_no;   ///发送数据数量  unsigned int Send_data[12]={0xeb,0x90,0xeb,0x90,0xeb,0x90,0x71,0x61,0x00,0x01,0x02,0x03}; //发送的数组  /* ****************************************************************  ** 函  数 名: Uart_Initial()  ** 功能描述: 通用异步收发器UART初始化  *************************************************************** */   /* 通用异步收发器UART初始化 */    void Uart_Initial()  {   IFS0bits.U1TXIF=0;   ///发送中断标志   IFS0bits.U1RXIF=0;   ///   IPC2bits.U1TXIP=1;   ///发中断优先级:1级      U1MODE=0x8000;    //UART使能,8位数据,无奇偶验证   U1STA=0x0400;   //当一个字符被传输到发送移位寄存器(发送缓冲器)       //少有一个字符)中断,当接收到一个字符时,中       //断标位置   U1BRG=0X34;              //U1BRG=Fcy/(16*波特率)-1,波特率9600     return;  }    /* ****************************************************************  ** 函 数  名: __attribute__((__interrupt__)) _U1TXInterrupt()  ** 功能描述: 中断子程序:232发送中断子程序   *************************************************************** */  void __attribute__((__interrupt__)) _U1TXInterrupt()   {   while(U1STAbits.TRMT ==0); //当0时,表示移位寄存器没有空   IFS0bits.U1TXIF=0;   ///发送中断标志      }  main()  {  Uart_Initial ();    //通用异步收发器UART初始化  IEC0bits.U1TXIE=1;    //UART发送中断使能  while (1)  {   if(U1STAbits.UTXBF==0);  //0时表示发送缓冲不满,可重新安装数据      {     if(send_no<12)  //发送12个数据    {     U1TXREG=Send_data[send_no];       send_no  ;     }   }  }  }

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章