S3C2440之PWM
来源:互联网 发布:java实现排序算法 编辑:程序博客网 时间:2024/05/16 01:48
#include "uart.h"#include "stdlib.h"//MS延时void delay( unsigned int time){unsigned int i,j;for ( i=0; i<time; i++){ for(j=0;j<30000;j++) { } } }void pwm_init(unsigned int tcnt,unsigned int tcmp){/*//中断配置rSRCPND |= (0x1<<10); //TIMER0rINTMOD &= ~(0x1<<10);rINTMSK &= ~(0x1<<10);rINTPND |= (0x1<<10);pISR_TIMER0= (U32)TIMER0_IRQ;*///定时器参数配置rTCON &= ~(0x1);//关闭定时器rTCFG0 |= 0x7c;//125分频 124+1rTCFG1 |= 0x2;//TIMER0 8分频rTCNTB0 = tcnt;//TIMER0 0xc350 50000,0x3e8 1000,0x1f4 500rTCMPB0 = tcmp;//25 50% 0x61a8 25000rTCON |= 0x1<<1;//手动更新TIMER0->TCNT0rTCON &= ~(0x1<<1);//关闭手动更新rGPBCON |= 0x2;//定时器PWM输出引脚连接蜂鸣器rTCON |= (0x1<<3|0x1<<2|0x1);}/*//定时器中断函数void __irq TIMER0_IRQ(void){rSRCPND |= (0x1<<10);rINTPND |= (0x1<<10);uart_printf("timer0_irq");}*/void choose_speak(void){char dat;static unsigned int *array = NULL;static int flag;dat = uart_getchar();uart_putchar(dat);}/* 播放蜂鸣器参数设置:vo ->低、中、高音的选择 cnt->dou/rui/mi/fa/so/la/xi tim->每个频率响的时间buzzer数组存的是频率的周期voice 数组存的是低电平的占空比!*/void start_buzzer(int vo,int cnt,unsigned int time){//close_buzzer();static unsigned int buzzer[][8]={{191,170,152,143,127,114,101},//低0/1/2/3/4/5/6 {96,86,76,72,64,57,50},//中/7/8/9/10/11/12/13 {48,43,38,36,32,28,25}};//高14/15/16/17/18/19/20static unsigned int voice[][8]={{160,140,120,110,100,90,80},{80,70,60,56,48,41,36},{38,34,30,28,24,22,20}};pwm_init(buzzer[vo][cnt],voice[vo][cnt]);//重新配置定时器数据delay(time);close_buzzer();}//关闭定时器,不在输出PWMvoid close_buzzer(void){rTCON &= ~(0x1);rGPBCON &= ~(0x3);rGPBCON |= 0x1;rGPBDAT &= ~(0x1); }
0 0
- s3c2440之PWM
- S3C2440之PWM
- s3c2440 PWM
- S3C2440-PWM
- s3c2440 PWM使用之蜂鸣器驱动移植
- s3c2440 linux3.0下PWM使用之蜂鸣器驱动移植
- s3c2440的PWM应用
- S3C2440 PWM设置
- s3c2440的PWM应用
- s3c2440的PWM应用
- s3c2440的PWM应用
- s3c2440 裸奔 PWM 分析
- s3c2440的pwm输出
- S3C2440 PWM定时器
- S3C2440 PWM设置
- s3c2440 的pwm应用
- s3c2440的pwm输出
- S3C2440裸机驱动--PWM基础
- Unity使用JsonFx进行JSON (反)序列
- memcache安全配置
- HDOJ 2072的五种做法 C strtok 字典树 map容器 set容器
- 搜索1006
- FZU 2150 Fire Game
- S3C2440之PWM
- 易语言学习第九课
- [UIApplication sharedApplication].netwrokActivityIndicator = YES&NO
- ARM中的程序状态寄存器(CPSR)
- 运用正则做简单的表单验证(二)
- CSS animate HelloWorld
- 用redis实现支持优先级的消息队列
- 当各个input框前面名字长度不等时,让上下input框对齐方法
- C++ string 常用函数/方法