TA的每日心情 | 衰 2021-12-24 16:56 |
---|
签到天数: 739 天 连续签到: 1 天 [LV.9]以坛为家II
|
我今天研究了一下xmega的定时器,发现比较困难,暂时还没实现周期中断。
另外,asf的架构好复杂啊,研究了半天,比流明的库都还复杂,也比stm8的库复杂。唉!
#include "avr/io.h"
#include "avr/interrupt.h"
#define TC_SetPeriod( _tc, _period ) ( (_tc)->PER = (_period) )
void TC0_ConfigClockSource( volatile TC0_t * tc, TC_CLKSEL_t clockSelection )
{
tc->CTRLA = ( tc->CTRLA & ~TC0_CLKSEL_gm ) | clockSelection;
}
int main(void)
{
TC_SetPeriod( &TCC0, 0x1000 );
TC0_ConfigClockSource( &TCC0, TC_CLKSEL_DIV1_gc );
PORTR_DIR=0xff;
PORTR_OUT=0x00;
while(1)
{
}
}
ISR(TCC0_CCA_vect)
{
PORTR_OUT^=0xff;
}
ISR(TCC0_OVF_vect)
{
/* Toggle PD0 output after 5 switch presses. */
PORTR_OUT^=0xff;
}
|
|