久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9845|回復: 2
打印 上一主題 下一主題
收起左側

stm32F4通過串口USART指令控制燈的亮滅的源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:135031 發表于 2018-6-10 14:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
詳細程序介紹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)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:295481 發表于 2018-9-23 23:45 | 只看該作者
好貼,感謝分享
回復

使用道具 舉報

板凳
ID:638748 發表于 2019-11-9 17:55 | 只看該作者
謝謝分享!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产欧美在线 | 欧美精品成人一区二区三区四区 | 97人人澡人人爽91综合色 | 亚洲大片| 欧美h版| 国产免费xxx | 免费超碰 | 精品av久久久久电影 | 亚洲黄色一区二区三区 | 精品国偷自产在线 | 亚洲一区二区电影网 | 欧美一区精品 | 中文在线播放 | 欧美一a一片一级一片 | 欧美综合一区二区 | 91大神在线资源观看无广告 | 久久三级影院 | 日韩精品专区在线影院重磅 | 欧美激情久久久 | 亚洲a视频 | 午夜在线| 亚洲国产精品久久久 | 久久国产精品-国产精品 | 射久久 | 成人一区av | 久久久人成影片免费观看 | 国产精品久久久久久久久久妇女 | 中文字幕一区在线观看视频 | 亚洲天天干| 国产精品久久久久久久久久免费看 | 在线播放中文字幕 | 国产精品成人av | 欧美极品少妇xxxxⅹ免费视频 | 欧美精品片| 日韩精品久久久久 | 亚洲不卡在线观看 | 免费黄色日本 | 欧美日韩在线观看一区 | 日韩一区二区三区四区五区 | 久久综合伊人 | 免费看爱爱视频 |