找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5505|回复: 4
打印 上一主题 下一主题
收起左侧

STM32输出捕获TIM5_CH1_CAPTURE_STA问题

[复制链接]
跳转到指定楼层
楼主
ID:584967 发表于 2019-7-28 11:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TIM5_CH1_CAPTURE_STA不是程序中定义的一个变量吗?为什么可以看做寄存器来判断是否捕获成功?


程序中我们定义了一个 u8 类型的全局变量 TIM5_CH1_CAPTURE_STA,此变量
可以看成类似一个字节的寄存器,bit7 用来表示捕获完成,bit6 用来表示捕获
到高电平,bit5-0 用来表示捕获高电平后定时器溢出次数。

以下为部分代码:
主函数:
u8 TIM5_CH1_CAPTURE_STA; //输入捕获状态
u16 TIM5_CH1_CAPTURE_VAL;//输入捕获值
中断函数:
if((TIM5_CH1_CAPTURE_STA&0x80)==0) //还未成功捕获
{
     if(TIM_GetITStatus(TIM5,TIM_IT_Update)) //发生更新中断
    {
        if(TIM5_CH1_CAPTURE_STA&0X40)//捕获到了高电平

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:511461 发表于 2019-7-28 14:18 | 只看该作者
TIM5_CH1_CAPTURE_STA是程序中定义的一个变量,TIM5_CH1_CAPTURE_STA=0时,表示还未捕获,TIM5_CH1_CAPTURE_STA=1时,表示捕获成功。
bit7 用来表示捕获完成,也就是TIM5_CH1_CAPTURE_STA=1000 0000;
bit6 用来表示捕获到高电平,也就是TIM5_CH1_CAPTURE_STA=0100 0000。
(bit :0~7)
回复

使用道具 举报

板凳
ID:584967 发表于 2019-7-28 15:22 | 只看该作者
aaaaaa。 发表于 2019-7-28 14:18
TIM5_CH1_CAPTURE_STA是程序中定义的一个变量,TIM5_CH1_CAPTURE_STA=0时,表示还未捕获,TIM5_CH1_CAPTURE ...

定义完以后,没有初始化,有点迷
回复

使用道具 举报

地板
ID:432703 发表于 2019-7-29 08:40 | 只看该作者
u8类型代表定义的变量可以看作一个8位二进制数,按理来说TIM5_CH1_CAPTURE_STA是要初始化一下,TIM5_CH1_CAPTURE_VAL可以不用
回复

使用道具 举报

5#
ID:123289 发表于 2019-7-29 09:14 | 只看该作者
TIM5_CH1_CAPTURE_STA 应该是#INCLUDE XX 中已定义好了,它已被指向了TIM5的状态寄存器。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表