完善资料让更多小伙伴认识你,还能领取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} |
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1021浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 05:51 , Processed in 0.682187 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
750