完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大神现在有个问题
需要以一个1MS 为溢出周期的 定时器1 T1,来计算一个频率的宽度(以频率发生器为25HZ) 外部频率发生器 接入P1.1 具体思维就是设置一个变量 A ,当接收到P1.1 上升沿时 开始计数,在收到P1.1的下一次上升沿后停止计数 并且把这个变量A保存。 这个A*1MS的值就是 这一个方波的时间宽度, 请问这个C 语言该如何写呢? 我捣鼓了1周了 没想明白 |
|
相关推荐
8个回答
|
|
检测到上升沿开始启动定时器。检测到下降沿关闭定时里,计算时间就可以了
|
|
|
|
使用有双向外部中断功能的I/O口检测脉冲宽度。
|
|
|
|
这个要分情况考虑:
首先要确定你用的P1.1是用了普通了GPIO功能还是输入捕捉功能。 如果用的是GPIO功能的话,就要看你的P1.1口复位之后的状态是什么,如果复位状态是高电平,那么你的就需要在第一个低电平启动定时器,第二个低电平停止定时器,然后得出时间,就得到频率了;反之,如果复位状态是低电平,那你就需要在第一个高电平启动定时器,第二个高电平停止计时器,然后得出时间。 如果用到了该引脚的输入捕捉功能,那么只需要配置好相应的寄存器即可。得到第一个高电平的时间和第二个高电平的时间,通过相减就能得到时间差,从而得到频率! |
|
|
|
因为我的这个频率宽 大概是40MS 如果只是检测上升和下降 也就是只检测了20MS 左右, 我担心精度不够 所以我想的 是 能够检测一个完整宽度 |
|
|
|
普通使用。。。 定时器1ms 一次中断, 在中断中我都以上升沿启动计数累加 在下一个上升沿 停止计数累加 关闭定时器 C不知道该如何写 |
|
|
|
单片机有捕获功能就很好弄了
|
|
|
|
好像有个软件来着
|
|
|
|
这个应该可以用计数器功能吧,一个定时器做计数器用,记录输入的脉冲个数,另一个定时器做定时器用,确定一个定时周期,剩下的就是如何计算出频率的事了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
202 浏览 0 评论
556 浏览 2 评论
ESP32开发中,使用ADF环境,系统报错I2C Bus WriteReg Error和I2C Bus ReadReg Error
495 浏览 1 评论
在ZYNQ上跑超炫酷GUI!手把手教你移植LVGL到ZYNQ平台!
709 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之FLEXCAN
888 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12463 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-7 10:07 , Processed in 0.825448 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191