完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include "msp430g2553.h"
....... P1SEL|=BIT0; // 设置 P1.0 为 timerA 外部计数信号输入口 P1DIR&=~BIT0; // 设置 P1.0 为输入口 // TimerA 配置 TACTL=TASSEL_0; // 定时器 A 时钟源选择:TACLK 记上升沿次数 TACTL=ID_0; // 计数时钟分频系数选择:1 while(1) { TAR=0x0000; // 定时器 A 计数寄存器内容清零 TACTL=MC_2; // 定时器 A 工作模式选择:连续模式 delay_nms(261); // 产生 1s 计数闸门 TACTL=MC_0; // 定时器 A 工作模式选择:停止模式 count=TAR; // 6553X 最大极限值 ...... 这个程序是用定时器A来在1S内测上升沿的次数得出信号的频率, TAR 只能计数到6553X左右,不能再上去了,有什么办法测更大的频率吗? |
|
相关推荐
1个回答
|
|
sp;sp; // 将 P1.0 设为输入
Timer_A_initCapture(TIMER_A0_BASE, TI_CAPT_TRIGGER_RISING, TI_CAPT_INPUT_CAPTURE, TI_CAPT_SYNC, TI_CAPT_CAPTURE_MODE, TIMER_A_CAPTURECOMPARE_REGISTER_0); // 初始化 TimerA 的输入捕获模式 TA0CTL |= TASSEL_1 + MC_2 + TACLR; // 设置 TimerA 的时钟来源为 ACLK,模式为连续计数,清空计数器 TA0EX0 |= TAIDEX_1; // 设置 TimerA 的分频因子为 2 while(1){ unsigned long cnt=TA0CCR0; // 获取 TimerA 计数值 float freq=(float)32768/(TA0CCR0*2); // 计算输入频率 }end{lstlisting} |
|
|
|
只有小组成员才能发言,加入小组>>
850 浏览 0 评论
1177 浏览 1 评论
2555 浏览 5 评论
2888 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2743 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1162浏览 3评论
210浏览 2评论
479浏览 2评论
391浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
476浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-9 01:16 , Processed in 0.985907 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号