搜索
bottom↓
回复: 12

跪求帮助,编程问题

[复制链接]

出0入0汤圆

发表于 2013-8-4 17:57:01 | 显示全部楼层 |阅读模式
我用iccv编程环境下 编了如下一个程序 ,想在pa2口输出1500hz的方波信号,初值计算无误 ,为什么得到的频率是94.7khz?相差太大,而且 ,改变初值时 也没见到有什么变化,请问是怎么回事?
代码
#include<iom16v.h>
#include<iom64v.h>
#include <macros.h>
#pragma interrupt_handler miao:9
void miao()
{
    PORTA^=0X04;//PA2与1异或
TCNT1H=0XEB;//T1初值
TCNT1L=0X2A;  
}
void main()
{
   DDRA|=BIT(PA2);
   PORTA|=BIT(PA2);
   
    TIMSK|=BIT(2);
SREG|=BIT(7);

   TCNT1H=0XEB;//定时器1的初值
TCNT1L=0X2A;
TCCR1B=0X01;//普通模式,无预分频,

}






PS,不知道怎么改变了什么,什么都没动啊 ,改变初值下载却成了直流信号!
求解答

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-8-4 19:18:43 | 显示全部楼层
哥们,你的中断处理函数呢?

出0入0汤圆

 楼主| 发表于 2013-8-4 19:42:42 | 显示全部楼层
本帖最后由 zn_dmu 于 2013-8-4 19:44 编辑




上面那个void miao
void miao()
{
     PORTA^=0X04;//PA2与1异或
TCNT1H=0XEB;//T1初值
TCNT1L=0X2A;  
}

我看学习视频是这样写的 啊。。

出0入0汤圆

 楼主| 发表于 2013-8-4 19:43:58 | 显示全部楼层
longfeix86 发表于 2013-8-4 19:18
哥们,你的中断处理函数呢?



上面那个void miao
void miao()
{
      PORTA^=0X04;//PA2与1异或
TCNT1H=0XEB;//T1初值
TCNT1L=0X2A;  
}

我看学习视频是这样写的,不正确吗

出0入0汤圆

发表于 2013-8-4 20:03:53 | 显示全部楼层
你用的是AVR的PWM还是定时器产生的?

出0入0汤圆

发表于 2013-8-4 20:06:16 | 显示全部楼层
中断处理函数不是这样写的吧

出0入0汤圆

 楼主| 发表于 2013-8-4 20:18:15 | 显示全部楼层
longfeix86 发表于 2013-8-4 20:03
你用的是AVR的PWM还是定时器产生的?

定时器,

出0入0汤圆

 楼主| 发表于 2013-8-4 20:18:33 | 显示全部楼层
richyhuang 发表于 2013-8-4 20:06
中断处理函数不是这样写的吧

求指点…

出0入0汤圆

 楼主| 发表于 2013-8-4 20:21:47 | 显示全部楼层
richyhuang 发表于 2013-8-4 20:06
中断处理函数不是这样写的吧

采用定时器的的普通模式,利用其溢出中断给输出电平取反,正常应该是在PA2口得到方波,但是出来的是直流信号…

出0入0汤圆

发表于 2013-8-4 20:54:39 | 显示全部楼层
头文件不对吧,又16又64的

出0入0汤圆

 楼主| 发表于 2013-8-4 21:06:14 | 显示全部楼层
cdwess 发表于 2013-8-4 20:54
头文件不对吧,又16又64的

他可以兼容的 。
我在想,是不是因为主函数里面没有循环语句,然后执行一次之后就停止了,不论定时器是不是在工作?教学视频里本来是有一个循环语句的,用来显示要显示的内容,
可是,我加上 while(1);这条语句也没有效果,该怎么弄呢………………………太郁闷了

出0入0汤圆

发表于 2013-8-4 21:31:44 | 显示全部楼层
M16的定时器1中断溢出向量是9,M64的中断溢出向量向量是15,估计是这里问题

出0入0汤圆

 楼主| 发表于 2013-8-4 21:48:52 | 显示全部楼层
cdwess 发表于 2013-8-4 21:31
M16的定时器1中断溢出向量是9,M64的中断溢出向量向量是15,估计是这里问题

哦 ,果然,太感谢了。。文档没看仔细…十分感谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 23:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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