欧美极品高清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.浮點運算單元:
不使用
單片機源程序如下:
/**
******************************************************************************
* @file main.c
* @author fire
* @version V1.0
* @date 2015-xx-xx
* @brief 串口使用,串口接收數據指令控制RGB彩色燈。
******************************************************************************
* @attention
*
* 實驗平臺:秉火 STM32F429 開發板
*
******************************************************************************
*/
#include "stm32f4xx.h"
#include "./led/bsp_led.h"
#include "./usart/bsp_usart.h"
#include "uartDrive.h"
#include "uartProtocol.h"
#include<stdio.h>
static void Show_Message(void);
/**
* @brief 主函數
* @param 無
* @retval 無
*/
int main(void)
{
char ch;
uint32 delay=8000000;
int count = 0;
uint8 *ss="dfg\n";
uint8 buf[128];
/* 初始化RGB彩燈 */
LED_GPIO_Config();
/* 初始化USART 配置模式為 115200 9-E-1 */
/* 增加了偶校驗功能,發送字符長度:8位有效數據+1位校驗位 */
/* 特別注意串口調試助手的數據位選擇“8”即可 */
// USARTx_Config();
UART_DRIVE_Init();
/* 打印指令輸入提示信息 */
UART_PROTOCOL_Init();
UART_PROTOCOL_Process();
while(1)
{
/* 獲取字符指令 */
// ch=getchar();
// printf("接收到字符:%c\n",ch);
count += 1;
UART_DRIVE_Process();
sprintf((char *)buf, "count:%d\n", count);
/* 根據字符指令控制RGB彩燈顏色 */
UART_DRIVE_AddTxArray(0x06, buf, strlen(buf));
for(uint32 i=0; i<delay; i++);
// switch(ch)
// {
// case '1':
// LED_RED;
// break;
// case '2':
// LED_GREEN;
// break;
// case '3':
// LED_BLUE;
// break;
// case '4':
// LED_YELLOW;
// break;
// case '5':
// LED_PURPLE;
// break;
// case '6':
// LED_CYAN;
// break;
// case '7':
// LED_WHITE;
// break;
// case '8':
// LED_RGBOFF;
// break;
// default:
// /* 如果不是指定指令字符,打印提示信息 */
// Show_Message();
// break;
// }
}
}
/**
* @brief 打印指令輸入提示信息
* @param 無
* @retval 無
*/
static void Show_Message(void)
{
printf("\r\n 這是一個通過串口通信指令控制RGB彩燈實驗 \n");
printf("使用 USART2 參數為:%d 9-E-1 \n",USARTx_BAUDRATE);
printf("開發板接到指令后控制RGB彩燈顏色,指令對應如下:\n");
printf(" 指令 ------ 彩燈顏色 \n");
printf(" 1 ------ 紅 \n");
printf(" 2 ------ 綠 \n");
printf(" 3 ------ 藍 \n");
printf(" 4 ------ 黃 \n");
printf(" 5 ------ 紫 \n");
printf(" 6 ------ 青 \n");
printf(" 7 ------ 白 \n");
printf(" 8 ------ 滅 \n");
}
/*********************************************END OF FILE**********************/
復制代碼
所有資料51hei提供下載:
USART—USART2指令控制RGB彩燈.rar
(608.92 KB, 下載次數: 66)
2018-6-11 04:40 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
lorabbitve
時間:
2018-9-23 23:45
好貼,感謝分享
作者:
Q小二
時間:
2019-11-9 17:55
謝謝分享!
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1