[Atmel] SAML21走起4:TC0 PWM波

[复制链接]
1247|0
 楼主| ddllxxrr 发表于 2015-7-10 12:24 | 显示全部楼层 |阅读模式
由于Atmle 的ASF换模块十分方便,我就把UART模块去掉加入了TC模块。然后点应用。


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

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

  1. #include <asf.h>
  2. #define PWM_MODULE      EXT2_PWM_MODULE
  3. #define PWM_OUT_PIN     EXT2_PWM_0_PIN
  4. #define PWM_OUT_MUX     EXT2_PWM_0_MUX

  5. struct tc_module tc_instance;
  6. void configure_tc(void);


  7. int main (void)
  8. {
  9.         system_init();
  10.         configure_tc();
  11.        
  12.          while (true) {
  13.                  ;
  14.          }

  15.        
  16. }


  17. void configure_tc(void)
  18. {
  19.         struct tc_config config_tc;
  20.         tc_get_config_defaults(&config_tc);
  21.         config_tc.counter_size    = TC_COUNTER_SIZE_16BIT;
  22.         config_tc.wave_generation = TC_WAVE_GENERATION_NORMAL_PWM;
  23.         config_tc.counter_16_bit.compare_capture_channel[0] = (0xFFFF / 4);
  24.         config_tc.pwm_channel[0].enabled = true;
  25.         config_tc.pwm_channel[0].pin_out = PWM_OUT_PIN;
  26.         config_tc.pwm_channel[0].pin_mux = PWM_OUT_MUX;
  27.         tc_init(&tc_instance, PWM_MODULE, &config_tc);
  28.         tc_enable(&tc_instance);
  29. }


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


比如:EXT2_PWM_0_PIN


则可找到它的定义:


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

以下是运行的截图:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

2404

主题

7001

帖子

68

粉丝
快速回复 在线客服 返回列表 返回顶部