在該系統中,所用到的技術有adc、dma、tim、usart。有些可以沒有必要使用,但為了作為前一段時間的總結,所以把這幾種都給使用上了。說一下做這個的思路,之前每一塊都已經學習過,並且都已經實現了,所以想著做這個小專案來練練手。在這裡面adc和dma讀取搖桿的位置,tim用來輸出pwm控制led的亮度,usart串列埠用來輸出列印一些執行時的資訊。如下圖所示:
專案的檔案結構圖:
看一下專案的主要**吧!
專案的所有源**:
下面主要來看一下主函式(main.c):
#include "usart.h"
#include "tim.h"
#include "adc.h"
u8 input_value = 0;
extern uint16_t conver_value[10];
int i;
float temp;
void init(void)
int main(void)
temp = temp * 3.3 /40960 *1000;
tim3_config((int)(temp/3300 * 1000)); }}
void usart1_irqhandler(void)
}
在主函式中,我們首先初始化各個檔案中的配置,然後adc軟體觸發,主函式進入死迴圈,輪詢操作。首先我們將adc採集的十次搖桿的值進行求和。求完和後對該數值進行轉換。最後將計算的值歸一化到0-1000範圍內,最後一步配置tim輸出的pwm的高電平持續時間。 控制led 用pwm的方法控制LED亮度
在本課程中,您將學習如何通過電位計來更改led的亮度。電位器實際上是乙個可調的電阻,阻值隨意手柄的轉動而變化,模擬電路中,我們可以將電位器串聯在電路中,改變led亮度。本次實驗,電位器只提供乙個訊號,實際燈的亮度由arduino控制。二 材料準備 1 arduino uno開發板 1 麵包板 若干杜...
MTK平台pwm控制led的亮度
1.查mtk的android driver allinonev1.01.pdf資料,到mediatek source kernel drivers leds leds.c 中通過檢視static int led set pwm int pwm num,struct nled setting led ...
任務3按鈕PWM控制LED亮度
任務3按鈕pwm控制led亮度 程式解讀 通過pwm的方式來調整led的亮度。int var 0 設計變數,int var val var 變數名 val 賦給變數的值 int ledpin 6 帶 號標識的介面才具備pwm輸出功能。int up 3 按鍵引腳,用於變亮效果 int down 8 按...