打印
[Atmel]

SAML21走起4:TC0 PWM波

[复制链接]
1006|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
由于Atmle 的ASF换模块十分方便,我就把UART模块去掉加入了TC模块。然后点应用。


再打开ASF EXPROEROR点开定时器模块,里边没有快速指导,不要紧,点开API然后在网页上找EXAMPLES

点开里边有快速指导啦。照着上边的提示做,则形成如下程序:

#include <asf.h>
#define PWM_MODULE      EXT2_PWM_MODULE
#define PWM_OUT_PIN     EXT2_PWM_0_PIN
#define PWM_OUT_MUX     EXT2_PWM_0_MUX

struct tc_module tc_instance;
void configure_tc(void);


int main (void)
{
        system_init();
        configure_tc();
       
         while (true) {
                 ;
         }

       
}


void configure_tc(void)
{
        struct tc_config config_tc;
        tc_get_config_defaults(&config_tc);
        config_tc.counter_size    = TC_COUNTER_SIZE_16BIT;
        config_tc.wave_generation = TC_WAVE_GENERATION_NORMAL_PWM;
        config_tc.counter_16_bit.compare_capture_channel[0] = (0xFFFF / 4);
        config_tc.pwm_channel[0].enabled = true;
        config_tc.pwm_channel[0].pin_out = PWM_OUT_PIN;
        config_tc.pwm_channel[0].pin_mux = PWM_OUT_MUX;
        tc_init(&tc_instance, PWM_MODULE, &config_tc);
        tc_enable(&tc_instance);
}


到不知道的变量前点右键,则可找到定义的原形。


比如:EXT2_PWM_0_PIN


则可找到它的定义:


究竟是怎么回事,我也看了下数据手册,就是一些位设置,如果自己看不知要到猴年马月才能明白。所以还是ASF吧。

以下是运行的截图:



相关帖子

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

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6950

帖子

67

粉丝