蜂鸣器和PWM定时器编程实践2
来源:互联网 发布:mac硬盘安装助手0.3 编辑:程序博客网 时间:2024/06/13 22:29
《朱老师物联网大讲堂》学习笔记
学习地址:www.zhulaoshi.org
以下代码为朱老师课堂上所写
#define GPD0CON(0xE02000A0)#define TCFG0(0xE2500000)#define TCFG1(0xE2500004)#define CON(0xE2500008)#define TCNTB2(0xE2500024)#define TCMPB2(0xE2500028)#define rGPD0CON(*(volatile unsigned int *)GPD0CON)#define rTCFG0(*(volatile unsigned int *)TCFG0)#define rTCFG1(*(volatile unsigned int *)TCFG1)#define rCON(*(volatile unsigned int *)CON)#define rTCNTB2(*(volatile unsigned int *)TCNTB2)#define rTCMPB2(*(volatile unsigned int *)TCMPB2)// 初始化PWM timer2,使其输出PWM波形:频率是2KHz、duty为50%void timer2_pwm_init(void){// 设置GPD0_2引脚,将其配置为XpwmTOUT_2rGPD0CON &= ~(0xf<<8);rGPD0CON |= (2<<8);// 设置PWM定时器的一干寄存器,使其工作rTCFG0 &= ~(0xff<<8);rTCFG0 |= (65<<8);// prescaler1 = 65, 预分频后频率为1MHzrTCFG1 &= ~(0x0f<<8);rTCFG1 |= (1<<8);// MUX2设置为1/2,分频后时钟周期为500KHz// 时钟设置好,我们的时钟频率是500KHz,对应的时钟周期是2us。也就是说每隔2us// 计一次数。如果要定的时间是x,则TCNTB中应该写入x/2usrCON |= (1<<15);// 使能auto-reload,反复定时才能发出PWM波形//rTCNTB2 = 250;// 0.5ms/2us = 500us/2us = 250//rTCMPB2 = 125;// duty = 50%rTCNTB2 = 50;rTCMPB2 = 25;// 第一次需要手工将TCNTB中的值刷新到TCNT中去,以后就可以auto-reload了rCON |= (1<<13);// 打开自动刷新功能rCON &= ~(1<<13);// 关闭自动刷新功能rCON |= (1<<12);// 开timer2定时器。要先把其他都设置好才能开定时器}
0 0
- 蜂鸣器和PWM定时器编程实践2
- 蜂鸣器和PWM定时器编程实践2
- 蜂鸣器和PWM定时器编程实践1
- 2.S5PV210中PWM定时器2控制蜂鸣器
- S3C2440定时器和pwm编程分析
- arm s5pv210定时器和pwm编程步骤
- 蜂鸣器 PWM
- TQ2440使用定时器产生PWM,控制蜂鸣器发声
- OK6410之蜂鸣器驱动硬件分析---PWM定时器
- OK6410之蜂鸣器驱动软件分析---PWM定时器
- stm32篇--定时器和PWM
- stm32的定时器和PWM
- pwm控制蜂鸣器实验
- linux pwm实现蜂鸣器
- mini2440 PWM驱动蜂鸣器
- ok6410 PWM 驱动蜂鸣器
- PWM控制蜂鸣器驱动
- 第十天: 定时器、看门狗、PWM、蜂鸣器、RTC原理及代码实战
- JSP和HTML和JS - 双引号嵌套问题解决方案(不断完善中)
- JAVA中的map集合顺序如何与添加顺序一样
- spring mvc 框架
- 无法在Word中打开MathType怎么办
- HashMap和LinkedHashMap的区别
- 蜂鸣器和PWM定时器编程实践2
- 解决SVN不显示绿色图标问题
- Java写文件
- Effective STL 条款6
- [__NSArrayI addObject:]: unrecognized selector sent to instance
- leetcode之Implement Stack Using Queues
- linux 源配置
- 【接口自动化测试】使用Fitness实现接口自动化测试
- svn 提交冲突操作