[Atmel] 跑一下XMEGA-B1程序(1)

[复制链接]
 楼主| ddllxxrr 发表于 2015-12-17 22:11 | 显示全部楼层 |阅读模式
本帖最后由 ddllxxrr 于 2015-12-20 07:36 编辑

今天 这个程序不是例程,是一步一步建立的ASF工程

首先建立ASF工程,然后添加LCDcontroller driver (driver)

然后在ASF EXPLORER中打开快速开始文档。根据提示添加完整需要的模块:



根据文档提示形成程序:

  1. #include <asf.h>
  2. void lcd_init(void)
  3. {
  4.         lcd_clk_init();
  5.         // Glass connection no COM swap, no SEG swap, use 40 seg line,
  6.         lcd_connection_init(false, false, 40, false);
  7.         // LCD waveform timing configuration:
  8.         // - Divide LCD source clock module (ULP) by 16
  9.         // - 4 divider of the prescaled clock source
  10.         // - Configure LCD module to generate low power mode
  11.         // - Duty cycle (operating mode) applied to the LCD.
  12.         lcd_timing_init(LCD_PRESC_16_gc, LCD_CLKDIV_DivBy4_gc,
  13.         LCD_LP_WAVE_ENABLE_gc, 4);
  14.         // Configure blink rate
  15.         lcd_blinkrate_init(LCD_BLINKRATE_2Hz_gc);
  16.         lcd_enable();
  17. }
  18. int main (void)
  19. {
  20.         /* Insert system clock initialization code here (sysclk_init()). */
  21.         sysclk_init();

  22.         board_init();

  23.     lcd_init();
  24.         
  25.         const uint8_t alpha_text[]="HELLO AVR";
  26.         const uint8_t num_text[]="1234";
  27.         lcd_set_pixel(1,0);
  28.         lcd_set_blink_pixel(2,0);
  29.         lcd_write_packet(LCD_TDG_14S_4C_gc, FIRST_14SEG_4C, alpha_text, \
  30.         WIDTH_14SEG_4C, DIR_14SEG_4C);
  31.         lcd_write_packet(LCD_TDG_7S_4C_gc, FIRST_7SEG_4C, num_text, \
  32.         WIDTH_7SEG_4C, DIR_7SEG_4C);
  33.         uint16_t result = adc_get_result(&ADCA, ADC_CH0);
  34.    

  35. }
这个程序很好懂一行显示字符一行显示数字。


本帖子中包含更多资源

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

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

本版积分规则

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

2403

主题

6994

帖子

68

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