搜索
bottom↓
回复: 7

求救贴!!那位大虾用过ATxmega128a1啊,关于计数器问题

[复制链接]

出0入0汤圆

发表于 2013-3-27 11:13:24 | 显示全部楼层 |阅读模式
如题,我之前用过51,AVR,他们的寄存器没有那么复杂,现在用Xmega遇到问题了,希望大虾们帮忙

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

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

出0入0汤圆

 楼主| 发表于 2013-3-27 11:32:58 | 显示全部楼层
在线着急啊 有大虾帮忙指点一下

出0入0汤圆

发表于 2013-3-27 11:36:05 | 显示全部楼层
本帖最后由 z421868436 于 2013-3-27 11:49 编辑

用过Atxmega32A4  其实应该也没那么复杂
atmle官网上面有应用文档,也有例子的
可以下载下来看一下
有什么问题吗?

出0入0汤圆

发表于 2013-3-27 11:36:53 | 显示全部楼层
看看avr studio中的DEMO

出0入0汤圆

 楼主| 发表于 2013-3-27 14:33:29 | 显示全部楼层
z421868436 发表于 2013-3-27 11:36
用过Atxmega32A4  其实应该也没那么复杂
atmle官网上面有应用文档,也有例子的
可以下载下来看一下

#include "avr_compiler.h"
#include <util/delay.h>
#include "clksys_driver.h"
#include "TC_driver.h"
#define uchar unsigned char
#define uint unsigned int
void sysclk_initial(void)
{
                /*  Enable internal 32 MHz ring oscillator and wait until it's
                 *  stable. Divide clock by two with the prescaler C and set the 16M
                 *  32 MHz ring oscillator as the main clock source.
                 */
                CLKSYS_PLL_Config( OSC_PLLSRC_RC2M_gc, 16 );
                CLKSYS_Enable( OSC_PLLEN_bm );
                CLKSYS_Prescalers_Config( CLK_PSADIV_1_gc, CLK_PSBCDIV_1_1_gc );
                do {} while ( CLKSYS_IsReady( OSC_PLLRDY_bm ) == 0 );
                CLKSYS_Main_ClockSource_Select( CLK_SCLKSEL_PLL_gc );
               
}

uint16_t period_ticks = 31250; // 31250*1024/32M = 1 second period.


void T0_init()//定时器0 定时1秒
{
        TCD0.PER = 31250;//设定对比值
           TCD0.CTRLA = TC_CLKSEL_DIV1024_gc;;//配置时钟分频
        TCD0.INTCTRLA = TC_OVFINTLVL_MED_gc;
        TCD0.INTCTRLA=(TCD0.INTCTRLA&~TC0_OVFINTLVL_gm)|TC_OVFINTLVL_MED_gc;//中断级别
        PMIC_CTRL |= PMIC_MEDLVLEN_bm|PMIC_HILVLEN_bm|PMIC_LOLVLEN_bm;//PIMC级别选择与上面中断相对应
}


int main( void )
{

        PORTC.DIR=0x07;//方向输出
        PORTB.DIR=0xFF;
        sysclk_initial();
        T0_init();
        sei();
        while (1);
}


ISR(TCD0_OVF_vect)
{
        PORTC_OUTTGL = 0x01;
}

我现在实现了 定时 灯可以1秒闪烁  但是 不知道怎么设置 计数功能,谁能指点一二

出0入0汤圆

 楼主| 发表于 2013-3-27 14:59:40 | 显示全部楼层
怎么设置那个端口做计数     计数方式 上升还是下降      计数初值怎么给   就三条语句 但是就只不知道怎么设置

出0入0汤圆

 楼主| 发表于 2013-3-27 16:13:08 | 显示全部楼层
大家帮帮忙

出0入0汤圆

发表于 2013-4-26 11:07:19 | 显示全部楼层
二胖1988 发表于 2013-3-27 16:13
大家帮帮忙

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

本版积分规则

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

GMT+8, 2024-7-24 03:22

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

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