STM8S105系列微控制器的PWM輸出配置
STM8S105xx的定時器資源:
(1)2個16位通用定時器(TIM2、TIM3),帶有2+3個CAPCOM通道(IC、OC或PWM);
(2)高階控制定時器(TIM1):16位,4個CAPCOM通道(捕獲/比較通道),3個互補輸出,死區插入和靈活的同步;
(3)帶有8位預分頻器的8位基本定時器(TIM4);
(4)自動喚醒定時器;
(5)2個看門狗定時器:視窗看門狗和獨立看門狗。
使用高階控制定時器和普通通用定時器的PWM輸出功能在初始化配置上有差異,下面做簡單分析:
TIM1——16位高階控制定時器
帶有16位預分頻的16位遞增、遞減和雙向自動重灌載計數器
TIM2、TIM3——16位通用定時器
16位向上計數和自動裝載計數器
15位預分頻器,分頻係數可調整為1~32768之間的2次冪數值
TIM4——8位基本定時器
8位自動裝載可調整的預分頻器,比例可選為1~128之間的2次冪
配置TIM1_CH1的PWM輸出功能:
void Time1_Init()
{
CLK->CKDIVR=0x00;
/*
* 這裡設定TIM2的計數頻率為 16M/1600=10000Hz
*/
TIM1_TimeBaseInit(1599,TIM1_COUNTERMODE_UP,2000,0); //分頻1600,向上計數,TIM1_ARR=1000,重複計數器為0
/*OC1初始化:
輸出使能
互補輸出不使能
CCR1=1000,佔空比為50%
輸出有效極性為高
互補輸出有效極性為高(無作用)
空閒時輸出高
空閒時互補輸出高(無作用)
*/
TIM1_OC1Init(TIM1_OCMODE_PWM1,
TIM1_OUTPUTSTATE_ENABLE,
TIM1_OUTPUTNSTATE_DISABLE,
1000,
TIM1_OCPOLARITY_HIGH,
TIM1_OCNPOLARITY_HIGH,
TIM1_OCIDLESTATE_SET,
TIM1_OCNIDLESTATE_SET);
TIM1_OC1PreloadConfig(ENABLE);
TIM1_CtrlPWMOutputs(ENABLE); //PWM輸出使能
TIM1_Cmd(ENABLE); //定時器開始計數
}
配置TIM2_CH1的PWM輸出功能:void TIMER2_PWMInit(unsigned short timebase,unsigned short t)
{
TIM2_DeInit();
/*
* TIM2 Frequency = TIM2 counter clock/(ARR + 1)
* 這裡設定TIM2的計數頻率為 16M/32/(timebase+1)=1K
*/
TIM2_TimeBaseInit(TIM2_PRESCALER_32, timebase);
/*
* PWM1 Mode configuration: Channel1
* TIM2 Channel1 duty cycle = [TIM2_CCR1/(TIM2_ARR + 1)] * 100 = 50%
* TIM2 Channel2 duty cycle = [TIM2_CCR2/(TIM2_ARR + 1)] * 100 = 50%
*/
/* 測試通道1 */
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, t, TIM2_OCPOLARITY_HIGH);
TIM2_OC1PreloadConfig(ENABLE);
TIM2_Cmd(ENABLE);
}
相關推薦
STM8S105系列微控制器的PWM輸出配置
STM8S105xx的定時器資源: (1)2個16位通用定時器(TIM2、TIM3),帶有2+3個CAPCOM通道(IC、OC或PWM); (2)高階控制定時器(TIM1):16位,4個CAPCOM通
微控制器PWM輸出控制直流電機(89c51系列、stc12c5a60s2系列)
目錄 【pwm是如何控制電機轉速】 【89C51系列微控制器產生pwm波】 【STC12C5A60S2系列微控制器輸出PWM】 【pwm是如何控制電機轉速】 在本科學習中,學生所做的小車多數為使用lm298n或者tb6612來驅動簡單的直流電機,我們需要微控制器輸出pwm
痞子衡嵌入式:飛思卡爾i.MX RT系列微控制器啟動篇(2)- Boot配置(BOOT_CFG Pin/eFUSE)
TP 執行 不同 mcu 更新 oom als 配置 示例 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是飛思卡爾i.MX RT系列MCU的Boot配置。 在上一篇文章 飛思卡爾i.MX RT系列微控制器啟動篇(1)- Boot簡介 裏痞子衡為大
stm32f411 配置 TIM 做 PWM 輸出。
STM32F4 沒有專用的PWM模組模組,PWM 是通過定時器TIM產生的。 下面這個文章講述了用STM32CubeMX 配置TIM生成PWM的過程。 http://www.stmcu.org.cn/module/forum/thread-599931-1-1.html STM32Cub
Spring Boot系列教程六:日誌輸出配置log4j2
一.前言 spring boot支援的日誌框架有,logback,Log4j2,Log4j和Java Util Logging,預設使用的是logback日誌框架,筆者一直在使用log4j2,並且看過某博主寫的一篇這幾個日誌框架的效能比對,決定仍使用log4j2,本文章
IAR開發環境使用串列埠printf輸出(基於STM8L15x系列微控制器)
這裡我們以STM8L15x系列微控制器使用ADC內部參考電壓測量VDD電壓並將電壓值value通過視窗列印為例編寫程式,相關的adc配置可參見另一篇部落格http://blog.csdn.net/m0_37973607/article/details/77141756(STM8L使用ADC內部參考電壓通道
STM32的TIM2的PWM的輸出配置無效
1、今天測試發現,對TIM2的PWM輸出無效,原來是 TIM2的時鐘寫錯了:RCC_APB2PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);應該改為 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM
Redis系列--2、Redis配置
redis配置詳解1、Redis配置在Redis有配置文件(redis.conf)可在Redis的根目錄下找到。可以通過Redis的CONFIG命令設置所有Redis的配置。2、配置文件說明:1. Redis默認不是以守護進程的方式運行,可以通過該配置項修改,使用yes啟用守護進程 daemonize
STM32 PWM輸出(映射)
ocm base term period 修改 etc cmd struct 映射 STM32 的定時器除了 TIM6 和 7。其他的定時器都可以用來產生 PWM 輸出。其中高級定時器 TIM1 和 TIM8 可以同時產生多達 7 路的 PWM 輸出。而通用定時器也能同
Spring Boot系列教程四:配置文件詳解properties
date int ava ota axu return 端口 rand work 一.配置隨機數,使用隨機數 在application.properties文件添加配置信息 1 #32位隨機數 2 woniu.secret=${random.value} 3 #隨機整數
公司nginx keepalived tomcat cxf 搭建高可用負載均衡實戰系列1- keepalived安裝配置
技術分享 cnblogs start ges idt def auth div .cn 1,ip說明 vip 10.50.13.67 server1 10.50.13.68 server2 10.50.13.140 2
STM8 關閉PWM輸出後的電平輸出問題解決
put 狀態 問題解決 高電平 電平 _for 寄存器 als 執行 STM系列的單片機PWM輸出如果被關斷比如用TIM1_CtrlPWMOutputs進行停止輸出後,電平的高低處於不確定的狀態。 他取決於: 1.GPIO初始化的特性 2.關斷那一刻時的電平 3.CCMR1
Nginx系列--03HTTP段基本配置及虛擬主機
HTTP段基本配置 Nginx虛擬主機配置 HTTP協議配置格式 http { ... ...:各server的公共配置 server { ... }:每個server用於定義一個虛擬主機; server { ...
5.Spring系列之Bean的配置2
不能 rda 根據 div post body OS gpo nbsp 一、配置Bean的兩種方式之使用XML配置Bean 1.Bean的自動裝配 ①.Spring IOC 容器可以自動裝配 Bean. 需要做的僅僅是在 <bean> 的 autowire 屬
6.Spring系列之Bean的配置3
enc 1.7 ole lex mysq get style 後置 分配 一、配置Bean的兩種方式之使用XML配置Bean 1.在IOC容器中引入外部屬性文件 在IOC容器中,當配置 Bean 時, 有時需要在 Bean 的配置裏引入系統部署的相關信息(例如:文件路徑、
RedHat系列一些重要的配置文件(持續更新)
ica lis ifcfg sde scripts 全局環境變量 掛載 dha 系統 1.網卡配置文件: /etc/sysconfig/network-scripts/ifcfg-ens(redhat7)/etc/sysconfig/network-scripts/et
痞子衡嵌入式:飛思卡爾i.MX RT系列微控制器介紹篇(3)- 命名規則
rule 成員 oom 嵌入 信息 100% 規則 控制器 今天 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是飛思卡爾i.MX RT系列MCU的命名規則。 打開任何一款i.MX RT系列芯片的Data Sheet均可找到如下命名規則表,以i.M
痞子衡嵌入式:飛思卡爾i.MX RT系列微控制器啟動篇(3)- Serial Downloader模式(sdphost/mfgtool)
efi RM pda lock mman www. esc https conn 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是飛思卡爾i.MX RT系列MCU的Serial Downloader模式。 在上一篇文章 飛思卡爾i.MX RT系列微
痞子衡嵌入式:飛思卡爾i.MX RT系列微控制器啟動篇(6)- Bootable image格式與加載(elftosb/.bd/.bin)
before 詳細介紹 tab true 加載完成 table sdp 推薦 包含 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是飛思卡爾i.MX RT系列MCU的Bootable image格式與加載過程。 在i.MXRT啟動系列第三篇文章 飛
痞子衡嵌入式:飛思卡爾i.MX RT系列微控制器啟動篇(9)- 從Parallel NOR啟動
16bit erase section cloud 你會 命令執行 選型 兩個 寬度 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是飛思卡爾i.MX RT系列MCU的Parallel NOR啟動。 上一篇講i.MXRT從Raw NAND啟動的文章