亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
TIM—全彩LED燈控制 簡單STM32實驗程序
[打印本頁]
作者:
lier
時間:
2019-4-10 14:12
標題:
TIM—全彩LED燈控制 簡單STM32實驗程序
制作出來的實物圖如下:
02.jpg
(123.29 KB, 下載次數: 62)
下載附件
狀態 演示
2019-4-10 14:11 上傳
01.jpg
(129.82 KB, 下載次數: 51)
下載附件
代碼截圖
2019-4-10 14:11 上傳
單片機源程序如下:
#include "./color_led/bsp_color_led.h"
/**
* @brief 配置COLOR_TIMx復用輸出PWM時用到的I/O
* @param 無
* @retval 無
*/
static void COLOR_TIMx_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* GPIO clock enable */
RCC_APB2PeriphClockCmd(COLOR_TIM_GPIO_CLK, ENABLE);
/*IO設置*/
COLOR_GPIO_REMAP_FUN();
/* 配置LED燈用到的引腳 */
//紅
GPIO_InitStructure.GPIO_Pin = COLOR_RED_TIM_LED_PIN ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // 復用推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(COLOR_RED_TIM_LED_PORT, &GPIO_InitStructure);
//綠
GPIO_InitStructure.GPIO_Pin = COLOR_GREEN_TIM_LED_PIN ;
GPIO_Init(COLOR_GREEN_TIM_LED_PORT, &GPIO_InitStructure);
//藍
GPIO_InitStructure.GPIO_Pin = COLOR_BLUE_TIM_LED_PIN ;
GPIO_Init(COLOR_BLUE_TIM_LED_PORT, &GPIO_InitStructure);
}
/**
* @brief 配置COLOR_TIMx輸出的PWM信號的模式,如周期、極性
* @param 無
* @retval 無
*/
static void COLOR_TIMx_Mode_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
/* 設置TIM CLK 時鐘 */
COLOR_TIM_APBxClock_FUN(COLOR_TIM_CLK, ENABLE); //使能COLOR_TIMx時鐘
/* 基本定時器配置 */
TIM_TimeBaseStructure.TIM_Period = 255; //當定時器從0計數到255,即為256次,為一個定時周期
TIM_TimeBaseStructure.TIM_Prescaler = 1999; //設置預分頻
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ; //設置時鐘分頻系數:不分頻(這里用不到)
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上計數模式
TIM_TimeBaseInit(COLOR_TIMx, &TIM_TimeBaseStructure);
/* PWM模式配置 */
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //配置為PWM模式1
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //使能輸出
TIM_OCInitStructure.TIM_Pulse = 0; //設置初始PWM脈沖寬度為0
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //當定時器計數值小于CCR_Val時為低電平
//使能通道和預裝載
COLOR_RED_TIM_OCxInit(COLOR_TIMx, &TIM_OCInitStructure);
COLOR_RED_TIM_OCxPreloadConfig(COLOR_TIMx, TIM_OCPreload_Enable);
//使能通道和預裝載
COLOR_GREEN_TIM_OCxInit(COLOR_TIMx, &TIM_OCInitStructure);
COLOR_GREEN_TIM_OCxPreloadConfig(COLOR_TIMx, TIM_OCPreload_Enable);
//使能通道和預裝載
COLOR_BLUE_TIM_OCxInit(COLOR_TIMx, &TIM_OCInitStructure);
COLOR_BLUE_TIM_OCxPreloadConfig(COLOR_TIMx, TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(COLOR_TIMx, ENABLE); //使能COLOR_TIMx重載寄存器ARR
/* COLOR_TIMx enable counter */
TIM_Cmd(COLOR_TIMx, ENABLE); //使能定時器
}
/**
* @brief COLOR_TIMx 呼吸燈初始化
* 配置PWM模式和GPIO
* @param 無
* @retval 無
*/
void COLOR_TIMx_LED_Init(void)
{
COLOR_TIMx_GPIO_Config();
COLOR_TIMx_Mode_Config();
}
//停止pwm輸出
void COLOR_TIMx_LED_Close(void)
{
SetColorValue(0,0,0);
TIM_Cmd(COLOR_TIMx, DISABLE); //失能定時器
COLOR_TIM_APBxClock_FUN(COLOR_TIM_CLK, DISABLE); //失能定時器時鐘
//關閉LED燈
GPIO_SetBits(COLOR_RED_TIM_LED_PORT,COLOR_RED_TIM_LED_PIN);
GPIO_SetBits(COLOR_GREEN_TIM_LED_PORT,COLOR_GREEN_TIM_LED_PIN);
GPIO_SetBits(COLOR_BLUE_TIM_LED_PORT,COLOR_BLUE_TIM_LED_PIN);
}
/**
* @brief 設置RGB LED的顏色
* @param rgb:要設置LED顯示的顏色值格式RGB888
* @retval 無
*/
void SetRGBColor(uint32_t rgb)
{
//根據顏色值修改定時器的比較寄存器值
COLOR_TIMx->COLOR_RED_CCRx = (uint8_t)(rgb>>16); //R
COLOR_TIMx->COLOR_GREEN_CCRx = (uint8_t)(rgb>>8); //G
COLOR_TIMx->COLOR_BLUE_CCRx = (uint8_t)rgb; //B
}
/**
* @brief 設置RGB LED的顏色
* @param r\g\b:要設置LED顯示的顏色值
* @retval 無
*/
void SetColorValue(uint8_t r,uint8_t g,uint8_t b)
{
//根據顏色值修改定時器的比較寄存器值
COLOR_TIMx->COLOR_RED_CCRx = r;
COLOR_TIMx->COLOR_GREEN_CCRx = g;
COLOR_TIMx->COLOR_BLUE_CCRx = b;
}
/*********************************************END OF FILE**********************/
復制代碼
/**
******************************************************************************
* @file main.c
* @author fire
* @version V1.0
* @brief 全彩LED燈例程
******************************************************************************
*/
#include "stm32f10x.h"
#include "./color_led/bsp_color_led.h"
#define SOFT_DELAY() Delay(0xFFFFFF);
void Delay(__IO u32 nCount);
/**
* @brief 主函數
* @param 無
* @retval 無
*/
int main(void)
{
/* 初始化LED燈 */
COLOR_TIMx_LED_Init();
while(1)
{
//顯示各種顏色
SetRGBColor(0x8080ff);
SOFT_DELAY();
SetRGBColor(0xff8000);
SOFT_DELAY();
SetRGBColor(0xffc90e);
SOFT_DELAY();
SetColorValue(181,230,29);
SOFT_DELAY();
SetColorValue(255,128,64);
SOFT_DELAY();
}
}
void Delay(__IO uint32_t nCount) //簡單的延時函數
{
for(; nCount != 0; nCount--);
}
/*********************************************END OF FILE**********************/
復制代碼
所有資料51hei提供下載:
TIM—全彩LED燈.7z
(180.64 KB, 下載次數: 56)
2019-4-10 16:14 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
萬妮馬
時間:
2020-3-13 23:53
哈哈,不錯,踏破鐵鞋無覓處,得來全不費工夫
作者:
被寧神的小Y
時間:
2020-3-16 16:00
好東西 希望有機會可以試一試 lz好人
作者:
285623501
時間:
2020-3-17 11:21
好東西 希望有機會
作者:
xxlll
時間:
2020-10-7 15:06
我一摸一樣照著寫的 為社么我的燈不亮啊
function "COLOR_TIMx_Mode_Config" was declared but never referenced
有這個警告
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1