完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
typedef unsigned int uint; void DelayMs(uint msec) { uint i,j; for(i=0;i } void Init_T1_Direction(void) { /*系统时钟设置*/ CLKCONCMD&=~0x40;//设置系统时钟源为32MHz的晶振 while(CLKCONSTA&0x40);//等待晶振稳定为32MHz CLKCONCMD&=~0x07;//设置系统主时钟频率为32MHz CLKCONCMD|=0x38;//定时器标记输出为250KHz PERCFG = 0x40; //Timer1位于位置2 P0_6~P0_7 P10~P12 P1SEL |= 0x03; //P10-P12用作外设接口00000010 P1DIR |=0x03; //output P2DIR = 0xC0; //P0优先作为TIMER1()1st priority: Timer 1 channels 2-3 T1CNTL=0x00; T1CNTH=0x00; //Timer1 counter T1CTL |=0x02; //set the running mode of control and the value of divider , 128 ,module mode T1CC0L= 0xfa; T1CC0H= 0x00; T1CCTL1=0x1c; //Clear when equal CCRO,Set when equal CCRx,00 101 100 T1CC1L= 0x01; T1CC1H= 0x00; T1CCTL2=0x1c; //Clear when equal CCRO,Set when equal CCRx,00 101 100 T1CC2L= 0x01; T1CC2H= 0x00; } void main() { uint i; Init_T1_Direction(); while(1) { for(i=500;i>0;i++) { T1CC2H=0x00; T1CC2L=i; T1CC1H=0x00; T1CC1L=i; while(T1CNTL!=0); DelayMs(50); } } } |
|
相关推荐
4个回答
|
|
但是我的解决方法是在mian函数里面利用for循环来改变三个通道的定时比较值,我想请教大家有没有更好的办法,觉得自己这个办法调节占空比还是不够方便
|
|
|
|
上面的代码已经实现了定时器1的通道1和2 “相同占空比” 的PWM输出,我现在想请教各位师兄师姐的是如何让两个通道输出 “不同占空比” 的PWM,而且两个通道都要属于 ”定时器1“ 的!
|
|
|
|
帮顶。。。。
|
|
|
|
我已解决,感谢原子哥帮顶,有问题再继续请教
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2315 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2058 浏览 5 评论
2750 浏览 3 评论
2517 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2456 浏览 4 评论
5640浏览 1评论
522浏览 0评论
524浏览 0评论
300浏览 0评论
123浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-28 19:54 , Processed in 1.380082 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号