发新帖我要提问
12
返回列表
打印
[STM32F1]

关于通用定时器的PWM问题

[复制链接]
手机看帖
扫描二维码
随时随地手机跟帖
21
沉默胜过白金|  楼主 | 2014-1-19 21:57 | 只看该作者 回帖奖励 |倒序浏览
549747249 发表于 2014-1-19 21:51
接收端进中断,用于计算高低电平时间。得出周期及占空比。当然,发射端已是固定周期及占空比。
接受端进中 ...

麻烦看一下第三个问题吧。

使用特权

评论回复
22
549747249| | 2014-1-20 07:11 | 只看该作者
void Int0(void) interrupt 0
  {
     EX0=0;      //关闭外中断0,不再接收二次红外信号的中断
          TH0=0;      //定时器T0的高8位清0
          TL0=0;      //定时器T0的低8位清0
          TR0=1;            //开启定时器T0         
          while(IR==0);          //如果是低电平就等待,给低电平计时
          TR0=0;                //关闭定时器T0     
          LowTime=TH0*256+TL0;  //保存低电平时间
          TH0=0;      //定时器T0的高8位清0
          TL0=0;      //定时器T0的低8位清0
          TR0=1;            //开启定时器T0
          while(IR==1);  //如果是高电平就等待,给高电平计时
          TR0=0;        //关闭定时器T0
          HighTime=TH0*256+TL0;        //保存高电平时间
          }//主函数去计算高低电平时间,得出周期。验证信号。(有示波器测红外接收OUT最好)
     红外接收探头,接收红外信号频率为38kHz,OUT:是高电平、低电平不断交替变换,高低电平变化周期约26μs
     

使用特权

评论回复
23
沉默胜过白金|  楼主 | 2014-1-20 11:40 | 只看该作者
549747249 发表于 2014-1-20 07:11
void Int0(void) interrupt 0
  {
     EX0=0;      //关闭外中断0,不再接收二次红外信号的中断

这是红外解码吧。

使用特权

评论回复
24
hdp7891000| | 2014-1-20 12:27 | 只看该作者
本帖最后由 hdp7891000 于 2014-1-20 12:29 编辑
沉默胜过白金 发表于 2014-1-19 19:25
谢谢回答。您是说有的型号的接收到38KHz 在OUT 就输出低电平? 这种最好了,能否提供以下型号。还有,能 ...

AT138B
最好说下你想做什么系统,或许能给你个直接的方案。
最好能说下你看的型号,理解要结合上下文。

使用特权

评论回复
25
沉默胜过白金|  楼主 | 2014-1-20 12:57 | 只看该作者
hdp7891000 发表于 2014-1-20 12:27
AT138B
最好说下你想做什么系统,或许能给你个直接的方案。
最好能说下你看的型号,理解要结合上下文。 ...

说一下有关PWM和红外发送,接收这两部分吧。首先,发射电路不断发射38K的红外信号,接收电路,也就是提到的红外接收管接收到该信号后,可以由单片机检测到。前面说过了,要是接收电路的接收管是脉冲式的,我用简单的 IO 检测高低时,由于在没有信号时,OUT端是高电平,当有38K时,会产生高低交替的脉冲,这时,很难检测到。如果是电平式的红外接收管,当接收到38K时,直接将OUT端送一低电平,这样,IO直接就可以检测了。

使用特权

评论回复
26
沉默胜过白金|  楼主 | 2014-1-20 12:58 | 只看该作者
hdp7891000 发表于 2014-1-20 12:27
AT138B
最好说下你想做什么系统,或许能给你个直接的方案。
最好能说下你看的型号,理解要结合上下文。 ...


或者,您还有什么更好的方案?能否分享一下。谢谢。

使用特权

评论回复
27
hdp7891000| | 2014-1-20 20:15 | 只看该作者
1.   at138b是电平式,但是貌似也不能长期保持低,你可以试试。
2.   交替的脉冲使用外部中断也好检测啊,做个定时,一定时间没中断认为无信号。
3.   如果你非要想把脉冲转化成电平,可以加一个看门狗芯片。

使用特权

评论回复
28
香水城| | 2014-2-17 12:23 | 只看该作者
就第一个问题进行澄清:TIM有PWM模式,是硬件实现的,无需软件干预,因此无所谓其他中断的到来是否会影响到它。当然,如果你不用TIM的PWM模式,用软件的“笨办法”来实现I/O口翻转,则可能有影响。

使用特权

评论回复
29
沉默胜过白金|  楼主 | 2014-2-17 22:31 | 只看该作者
香水城 发表于 2014-2-17 12:23
就第一个问题进行澄清:TIM有PWM模式,是硬件实现的,无需软件干预,因此无所谓其他中断的到来是否会影响到 ...

谢谢版主,有一个其他的问题想问版主,您是自愿做的论坛版主吗?还是跟上班似的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则