標(biāo)題: STM32串口1和串口三之間互發(fā)數(shù)據(jù)以及處理數(shù)據(jù)源程序 [打印本頁]

作者: qq1104859436    時(shí)間: 2019-3-23 15:12
標(biāo)題: STM32串口1和串口三之間互發(fā)數(shù)據(jù)以及處理數(shù)據(jù)源程序
具體看程序

單片機(jī)源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "usart3.h"


  6. int main(void)
  7. {        
  8.         delay_init();            //延時(shí)函數(shù)初始化         
  9.         LED_Init();                          //初始化與LED連接的硬件接口
  10.          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//usart3接收中斷優(yōu)先級(jí)2 次優(yōu)先級(jí)2
  11.          usart3_init(9600);//藍(lán)牙的串口初始化 注意手機(jī)與單片機(jī)的藍(lán)牙連接波特率是要9600
  12.          uart_init(9600);
  13.         while(1)
  14.         {
  15. //                        printf("ssss \r\n\r\n");//一個(gè)個(gè)打印
  16. ////               
  17. //USART1->DR=1;delay_us(100);
  18. //while((USART1->SR&0X40)==0);//等待發(fā)送結(jié)束
  19. ////        
  20. //        
  21. //USART3->DR=3;delay_us(100);
  22. //while((USART3->SR&0X40)==0);//等待發(fā)送結(jié)束
  23.            if(USART3_RX_STA&0x8000)
  24.                  {
  25. ////                        USART1->DR=USART3_RX_BUF[0];//delay_us(100);
  26. ////                        while((USART1->SR&0X40)==0);
  27. //                        printf("\r\n 1的消息為 %d \r\n\r\n",USART3_RX_BUF[0]);//一個(gè)個(gè)打印
  28. //                        printf("\r\n 2的消息為 %d \r\n\r\n",USART3_RX_BUF[1]);
  29. ////                        USART1->DR=66;//delay_us(100);
  30. ////                        while((USART1->SR&0X40)==0);//等待發(fā)送結(jié)束//單個(gè)字符
  31.                    if(USART3_RX_BUF[0]=='1'&&USART3_RX_BUF[1]=='2'&&USART3_RX_BUF[2]=='3')
  32.                          {
  33.                                 
  34.         USART3->DR=3;delay_ms(10);
  35.         while((USART3->SR&0X40)==0);//等待發(fā)送結(jié)束
  36.                          }
  37.                          else if(USART3_RX_BUF[0]=='3'&&USART3_RX_BUF[1]=='2'&&USART3_RX_BUF[2]=='1')
  38.                          {
  39.                         
  40.                           USART3->DR=4;delay_ms(10);
  41.         while((USART3->SR&0X40)==0);//等待發(fā)送結(jié)束
  42.                          }
  43.                          USART3_RX_STA=0;
  44.                  }
  45. }
  46. }

  47. /**
  48. *****************下面注視的代碼是通過調(diào)用庫函數(shù)來實(shí)現(xiàn)IO控制的方法*****************************************
  49. int main(void)
  50. {

  51.         delay_init();                  //初始化延時(shí)函數(shù)
  52.         LED_Init();                        //初始化LED端口
  53.         while(1)
  54.         {
  55.                         GPIO_ResetBits(GPIOB,GPIO_Pin_5);  //LED0對(duì)應(yīng)引腳GPIOB.5拉低,亮  等同LED0=0;
  56.                         GPIO_SetBits(GPIOE,GPIO_Pin_5);   //LED1對(duì)應(yīng)引腳GPIOE.5拉高,滅 等同LED1=1;
  57.                         delay_ms(300);                     //延時(shí)300ms
  58.                         GPIO_SetBits(GPIOB,GPIO_Pin_5);           //LED0對(duì)應(yīng)引腳GPIOB.5拉高,滅  等同LED0=1;
  59.                         GPIO_ResetBits(GPIOE,GPIO_Pin_5); //LED1對(duì)應(yīng)引腳GPIOE.5拉低,亮 等同LED1=0;
  60.                         delay_ms(300);                     //延時(shí)300ms
  61.         }
  62. }

  63. ****************************************************************************************************
  64. ***/


  65.         
  66. /**
  67. *******************下面注釋掉的代碼是通過 直接操作寄存器 方式實(shí)現(xiàn)IO口控制**************************************
  68. int main(void)
  69. {

  70.         delay_init();                  //初始化延時(shí)函數(shù)
  71.         LED_Init();                        //初始化LED端口
  72.         while(1)
  73.         {
  74.      GPIOB->BRR=GPIO_Pin_5;//LED0亮
  75.            GPIOE->BSRR=GPIO_Pin_5;//LED1滅
  76.                  delay_ms(300);
  77.      GPIOB->BSRR=GPIO_Pin_5;//LED0滅
  78.            GPIOE->BRR=GPIO_Pin_5;//LED1亮
  79.                  delay_ms(300);

  80.          }
  81. }
  82. **************************************************************************************************
  83. **/
復(fù)制代碼

所有資料51hei提供下載:
串口1.3.7z (182.33 KB, 下載次數(shù): 43)




作者: kissjing    時(shí)間: 2019-9-6 11:04
發(fā)送字符串 接收到的都是0000000




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1