#define		TIM1_DIV1			(uint16)(1-1)
#define TIM1_DIV2 (uint16)(2-1)
#define TIM1_DIV4 (uint16)(4-1)
#define TIM1_DIV8 (uint16)(8-1)
#define TIM1_DIV16 (uint16)(16-1)
#define TIM1_DIV32 (uint16)(32-1) //timer1 PWM 输出到管脚使能
_Bool PWMAOUT_PINENBLE @TIM1_CCER1:0 ;//TIM1_CH1 -- PC6
_Bool PWMBOUT_PINENBLE @TIM1_CCER1:4 ;//TIM1_CH2 -- PC7
_Bool PWMCOUT_PINENBLE @TIM1_CCER2:0 ;//TIM1_CH3 -- PC3 // PWM 频率设定
#define V_PWMFRE 1000 #define ToCMPxH(CMP,Value) (CMP = (uint8)((Value >> 8 ) & 0xFF))
#define ToCMPxL(CMP,Value) (CMP = (uint8)(Value & 0xFF)) //*************************************
// 函数名称:Init_Timer1_PWM
// 函数功能:定时器1作PWM输出时初始化
// 入口参数:PWM等级 每级0.625U (1000*0.625 = 62.5U = 8K)
// 出口参数:无
// 此初始化设置应用在BLDC 三相PWM输出
//***************************************
void Init_Timer1_PWM(uint16 Tcon,uint16 Pscr)
{ //16M系统时钟经预分频f=fck/(PSCR+1) TIM1_PSCRH = (Pscr >> 8) & 0xff ;
TIM1_PSCRL = Pscr & 0xff ; //设定重装载时的寄存器值,255是最大值
TIM1_ARRH = (Tcon >> 8) & 0xff ;
TIM1_ARRL = Tcon & 0xff ; //设置刹车寄存器
TIM1_BKR|=0X80 ; //PWM1模式,TIM1_CNT<TIM1_CCR1时有效
TIM1_CCMR1 =0x6C ;
//PWM1模式,TIM1_CNT<TIM1_CCR1时有效
TIM1_CCMR2 =0x6C ;
//PWM1模式,TIM1_CNT<TIM1_CCR1时有效
TIM1_CCMR3 =0x6C ;
//冻结模式,TIM1_CNT<TIM1_CCR1时有效
TIM1_CCMR4 =0x08 ; //PWM 占空比 清0
TIM1_CCR1H = 0;
TIM1_CCR1L = 0;
TIM1_CCR2H = 0;
TIM1_CCR2L = 0;
TIM1_CCR3H = 0;
TIM1_CCR3L = 0; TIM1_EGR = 0X01 ; //UG = 1 ;初始化计数器 预装载载入影子寄存器中
TIM1_CNTRH = 0 ; //计数器清0
TIM1_CNTRL = 0 ;
TIM1_CR1 |= 0X01; // 计数器使能,开始计数 }
//*************************************
// 函数名称:TOPWMVALUE
// 函数功能:设置PWM占空比
// 入口参数:占空比值
// 出口参数:无
//***************************************
void TOPWMVALUE(uint16 OUT_PWM)
{
ToCMPxH(TIM1_CCR1H,OUT_PWM);
ToCMPxL(TIM1_CCR1L,OUT_PWM);
ToCMPxH(TIM1_CCR2H,OUT_PWM);
ToCMPxL(TIM1_CCR2L,OUT_PWM);
ToCMPxH(TIM1_CCR3H,OUT_PWM);
ToCMPxL(TIM1_CCR3L,OUT_PWM);
} //----实例应用------
//定时器1初始化
Init_Timer1_PWM(V_PWMFRE,TIM1_DIV2) ;//16M/2=8M 设置8K PWM输出

STM8S TIM1 PWM初始化设置的更多相关文章

  1. STM8S TIM4 初始化设置

    #define TIM4_DIV1 (unsigned char)0 #define TIM4_DIV2 (unsigned char)1 #define TIM4_DIV4 (unsigned ch ...

  2. STM8S ADC初始化设置及应用

    //ADC通道号定义 #define ADC_Chanel0 (unsigned char)0x00 #define ADC_Chanel1 (unsigned char)0x01 #define A ...

  3. STM32的PWM输入模式设置并用DMA接收数据

    参考 :STM32输入捕获模式设置并用DMA接收数据 PWM input mode This mode is a particular case of input capture mode. The ...

  4. UI设计之PS界面初始化设置

    一.PS界面初始化 1.新建设置  web设计的基础标准:宽度为1920px,高度自定义,分辨率72px,背景模式RGB 8位.(提示:可以“存为预设”以便以后直接调用) 注意:背景内容为透明!!! ...

  5. Confluence 6 配置推荐更新邮件通知默认的初始化设置

    Confluence 为订阅者发送常规邮件报告,这个邮件报告中包含有用户具有查看权限的空间的最新的内容.这个被称为 推荐更新(Recommended Updates)通知. 如果你具有 Conflue ...

  6. 如何设置vim中tab键缩进---配置初始化设置

    转载自:http://blog.51cto.com/xuding/1725376:加了一些补充说明 问题: Linux系统下,Tab键默认为8个字符,需呀将其修改为4个字符的方式使用 步骤: 1.在用 ...

  7. CSS初始化设置

    在网页开发时,由于浏览器默认加载的css样式使得页面显示的样式出现一些意想不到的意外样式,所以首先要进行css的初始化设置. 此外一些常用的样式,比如浮动等也可以放到初始化中备用.

  8. 搭建yum本地源_阿里云CentOS服务器初始化设置

    CentOS服务器初始化设置其实不分阿里云或其它服务器了,操作配置过程与步骤也差不多一.挂载硬盘 1.磁盘分区 fdisk -l #查看设备,一般可以看到设备名为/dev/xvdb fdisk /de ...

  9. Csharp: TreeView 初始化设置默认选择节点

    /// <summary> /// 设置查找的节点为选定节点 /// 涂聚文 /// 2013-07-15 /// </summary> /// <param name= ...

随机推荐

  1. iptables的配置文件/etc/sysconfig/iptables不存在怎么办

    iptables的配置文件/etc/sysconfig/iptables不存在怎么办 首先要看一下iptables是否安装了,使用service iptables status或yum info ip ...

  2. - C#编程大幅提高OUTLOOK的邮件搜索能力!

    原文:[原创] - C#编程大幅提高OUTLOOK的邮件搜索能力! 使用OUTLOOK, 你有没有遇到过上图的问题? 多达18419封邮件! 太多了, 每次想找一个邮件都非常耗时, 想办法解决这个问题 ...

  3. ASP.Net使用母版页窗

    背景:每一个网页的基本框架结构类似: 浏览站点的时候会发现,好多站点中.每一个网页的基本框架都是一样的,比方,最上面都是站点的标题,中间是内容.最以下是站点的版权.开发提供商等信息: watermar ...

  4. Perl基础(1)chop与chomp的区别

    chop是去掉字符串的最后一个字符 chomp是去掉"$/"指定的结尾符号 测试程序一: [perl] #!/bin/perl $tmp = "sincere" ...

  5. 解决wps for linux 中文输入法光标不跟随的问题

    需要安装qt4-qtconfig和ibus-qt4,安装ibus-qt4之后才能在qt4-qtconfig“界面”选项卡默认输入法选项中看到ibus,选定它,然后设置XIM输入风格为光标跟随风格,保存 ...

  6. [译]Java 设计模式之原型

    (文章翻译自Java Design Pattern: Prototype) 原型模式用于当当非常相似的对象频繁被需要的时候.原型模式克隆了对象并且设置变化的特征.这种方式会消耗更少的资源.考虑下为什么 ...

  7. 在OpenWrt上编写自己的硬件操作程序

    上一篇文章中有写到如何使用OPENWRT的SDK,这里继续,写怎么在上面开发自己的应用程序. 我欲在OpenWrt上编写一个软件,它能够去读取某个AD芯片的多通道采样值. 在看这篇文章之前请看这官方的 ...

  8. QT5.4 vs2013静态加载插件的sqlite静态编译

    1. 非常多同学在静态编译QT5完毕后, sqlite的驱动老是载入不进去, 原因可能是由于你没有例如以下操作: #include <QtPlugin> Q_IMPORT_PLUGIN(Q ...

  9. 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10(转载)

    在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实IE给出了解决方案Google也给出了解决方案百度也应用了这种方案去解决IE的兼容问题 百度源代码如下 <!Doctype html> ...

  10. 体验SubSonic

    体验SubSonic SubSonic简介 SubSonic配置 利用sonic.exe来生成代码 通过Substage来生成代码 简单操作示例 1.SubSonic简介 一句讲完就是:SubSoni ...