欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: stm32F4通過串口USART指令控制燈的亮滅的源碼 [打印本頁]

作者: linlin7077    時間: 2018-6-10 14:27
標題: stm32F4通過串口USART指令控制燈的亮滅的源碼
詳細程序介紹stm32串口的配置使用
/*********************************************************************************************/
【*】程序簡介

-工程名稱:USART—USART2指令控制RGB彩燈
-實驗平臺: 秉火STM32 F429 開發板
-MDK版本:5.16
-ST固件庫版本:1.5.1

【 !】功能簡介:
串口使用,串口接收數據指令控制RGB彩色燈。。

學習目的:學會使用STM32串口發送和接收數據。
         使用串口2,要分清串口2與串口1的時鐘是不一樣的,串口2是APB1時鐘,串口1是APB2時鐘。

【 !!】注意事項:
接口:板子上邊沿中間的DB9接口
跳線帽:使用跳線帽連接 R1OUT<--->PD6,T1IN<--->PD5
串口波特率:115200

【 !】實驗操作:
電腦端使用串口調試助手,選擇電腦與STM32相連的COM口,設置為115200-E-9-1,
復位開發板,即可接收STM32串口發送給電腦的數據。
串口調試助手發送不同指令,RGB彩燈顯示不同顏色。

/*********************************************************************************************/

【*】 引腳分配

LED:
RGB彩燈的三個陰極接到STM32三個引腳上,LED低電平亮。

    R<--->PH10
    G<--->PH11
    B<--->PH12
   
    LED4<--->PD11
   
串口(RS232-DB9):
MAX232的收發引腳與STM32的發收引腳相連。
    T1IN<--->PD5
    R1OUT<--->PD6
   
   
/*********************************************************************************************/

【*】 時鐘

A.晶振:
-外部高速晶振:25MHz
-RTC晶振:32.768KHz

B.各總線運行時鐘:
-系統時鐘 = SYCCLK = AHB1 = 180MHz
-APB2 = 90MHz
-APB1 = 45MHz

C.浮點運算單元:
  不使用

單片機源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  fire
  5.   * @version V1.0
  6.   * @date    2015-xx-xx
  7.   * @brief   串口使用,串口接收數據指令控制RGB彩色燈。
  8.   ******************************************************************************
  9.   * @attention
  10.   *
  11.   * 實驗平臺:秉火  STM32F429 開發板
  12.   *
  13.   ******************************************************************************
  14.   */
  15.   
  16. #include "stm32f4xx.h"
  17. #include "./led/bsp_led.h"
  18. #include "./usart/bsp_usart.h"
  19. #include "uartDrive.h"
  20. #include "uartProtocol.h"
  21. #include<stdio.h>

  22. static void Show_Message(void);
  23.   
  24. /**
  25.   * @brief  主函數
  26.   * @param  無
  27.   * @retval 無
  28.   */
  29. int main(void)
  30. {       
  31.   char ch;
  32.         uint32 delay=8000000;
  33.         int count = 0;
  34.   uint8 *ss="dfg\n";
  35.         uint8 buf[128];
  36.   /* 初始化RGB彩燈 */
  37.   LED_GPIO_Config();
  38.   
  39.   /* 初始化USART 配置模式為 115200 9-E-1 */
  40.   /* 增加了偶校驗功能,發送字符長度:8位有效數據+1位校驗位 */
  41.   /* 特別注意串口調試助手的數據位選擇“8”即可 */
  42. //  USARTx_Config();
  43.         UART_DRIVE_Init();
  44.   /* 打印指令輸入提示信息 */
  45.         UART_PROTOCOL_Init();
  46.         UART_PROTOCOL_Process();
  47.   while(1)
  48.         {       
  49.     /* 獲取字符指令 */
  50. //    ch=getchar();
  51. //    printf("接收到字符:%c\n",ch);
  52.                 count += 1;
  53.     UART_DRIVE_Process();
  54.                 sprintf((char *)buf, "count:%d\n", count);

  55.     /* 根據字符指令控制RGB彩燈顏色 */
  56.                
  57.                 UART_DRIVE_AddTxArray(0x06, buf, strlen(buf));
  58.                 for(uint32 i=0; i<delay; i++);
  59. //    switch(ch)
  60. //    {
  61. //      case '1':
  62. //        LED_RED;
  63. //      break;
  64. //      case '2':
  65. //        LED_GREEN;
  66. //      break;
  67. //      case '3':
  68. //        LED_BLUE;
  69. //      break;
  70. //      case '4':
  71. //        LED_YELLOW;
  72. //      break;
  73. //      case '5':
  74. //        LED_PURPLE;
  75. //      break;
  76. //      case '6':
  77. //        LED_CYAN;
  78. //      break;
  79. //      case '7':
  80. //        LED_WHITE;
  81. //      break;
  82. //      case '8':
  83. //        LED_RGBOFF;
  84. //      break;
  85. //      default:
  86. //        /* 如果不是指定指令字符,打印提示信息 */
  87. //        Show_Message();
  88. //        break;      
  89. //    }   
  90.         }       
  91. }

  92. /**
  93.   * @brief  打印指令輸入提示信息
  94.   * @param  無
  95.   * @retval 無
  96.   */
  97. static void Show_Message(void)
  98. {
  99.   printf("\r\n   這是一個通過串口通信指令控制RGB彩燈實驗 \n");
  100.   printf("使用  USART2  參數為:%d 9-E-1 \n",USARTx_BAUDRATE);
  101.   printf("開發板接到指令后控制RGB彩燈顏色,指令對應如下:\n");
  102.   printf("   指令   ------ 彩燈顏色 \n");
  103.   printf("     1    ------    紅 \n");
  104.   printf("     2    ------    綠 \n");
  105.   printf("     3    ------    藍 \n");
  106.   printf("     4    ------    黃 \n");
  107.   printf("     5    ------    紫 \n");
  108.   printf("     6    ------    青 \n");
  109.   printf("     7    ------    白 \n");
  110.   printf("     8    ------    滅 \n");  
  111. }

  112. /*********************************************END OF FILE**********************/

復制代碼

所有資料51hei提供下載:
USART—USART2指令控制RGB彩燈.rar (608.92 KB, 下載次數: 66)



作者: lorabbitve    時間: 2018-9-23 23:45
好貼,感謝分享
作者: Q小二    時間: 2019-11-9 17:55
謝謝分享!




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