查看: 5216|回复: 13

【ATmega168 Xplained Mini 试用系列】No.1开发环境和点灯

[复制链接]
  • TA的每日心情
    慵懒
    2019-4-25 12:20
  • 签到天数: 251 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2014-4-20 22:49:24 | 显示全部楼层 |阅读模式
    分享到:
    第一次使用AVR系列的MCU和官方推荐的IDE,简单分享一下个人使用的过程
    大神高手们笑笑也就过了吧,要拍就轻拍啊......
    -------------------------------------------------割割割---------------------------------------------
    从ATMEL官网上把Atmel Studio6.2(似乎就是最新版了,下称AS6.2)撸下来
    这里面有个小小的插曲,用百度云等离线下载,安装之后进行程序编译
    会出现一些比较奇怪的,譬如找不到系统指定路径等问题
    还是下载到本地进行安装,一切正常
    安装基本上是3大块:IDE环境所需的操作系统框架程序、ATMEL的usb驱动和IDE软件
    很常规,基本上就是猛戳下一步,这里就不重复了
    打开软件,并插上Xplained Mini,IDE很快会识别出这块kit
    xiazai.JPG
    顺便看看键盘输入eeboard,串口输出的莫斯编码,呵呵
    主页.JPG
    IDE倒是识别了,但是AS6.2里面居然没有Xplained Mini的例程
    这次活动的其它板卡都有对应例程,很是不解啊。
    看看这块板子的info
    芯片信息.png
    还是非常详细的,并且也给出了atmel官网与这块kit相关的链接,很是不错
    可惜例程还是相对比较少。
    这里就想着找找同系列MCU的例程
    发现ATMEL最近的芯片后缀集中在P、A、PA等等
    这里简单研究了一下,大概是这么回事:
    A---带A的是现在ATMEL采用新工艺的料号,新工艺把以前所谓不带后缀L跟带后缀L的统一了,性能方面把以前带不带L,电压工作范围有差异,工作频率有差异都做了整合。
    P---带P是指这个料号采用了ATMEL的picoPower技术,同型号带P的会要比不带P的在相同条件下更省电。
    PA---以上两者合体。
    但是不要以为就完全一样咯
    会有细微的差别
    QQ截图20140420220733.jpg
    支持的调试器还是有一定差别的
    俺们这块ATmega168 Xplained Mini板载就是mEDBG,所以芯片不能乱选
    ATMEL官方的这个IDE,不支持盗版的调试器,略坑。
    使用AS6.2,就不能回避ASF(Atmel Software Framework)的使用
    其实就是封装好的外设库
    cp.JPG
    新建工程的时候,会有5种不同的建立方式
    其中第一种就是使用ASF来新建工程
    点击试试
    QQ截图20140420220733.jpg
    可以通过select By device和select byboard来进行选择
    通过芯片选择,输入168,能够找到对应的ic
    通过bordtype选择,输入168,没有对应的ATmega168 Xplained Mini 咯
    只有STK600这块开发套件,应该也能用吧
    QQ截图20140420220733.jpg
    点击ok后,就能看到工程和对应的main文件了
    点击ok前,记得要把device和board都点一下,设置成高亮
    QQ截图20140420220733.jpg
    下面是使用ASF添加相关的资源
    下拉菜单Project-----ASF Wizard
    ASF.PNG

    ATmega168包含的驱动少的可怜,不过48、88应该也都能用
    但是在更换芯片的时候,要最好重新插拔一下板卡
    新片子,新开发板,先点个灯吧
    ok,选中需要的驱动,Add+Apply,添加文件咯
    asf2.PNG

    提示框,有点不太对劲,怎么大部分都是h文件?
    添加好了,看看整个工程的文件架构
    wenjian.png
    基本上全部都是h文件,说好的驱动呢?说好的c呢?
    原来ATMEL要走MS的路子,把所有操作都API函数封装起来
    大家只要对应MCU或者板卡,把API调用就好了
    至于API是怎么写的,不必去关心。
    这点和微软一个样啊
    但是很不解的是,这些个API函数怎么使用,找遍了ATMEL的网站
    也找不到一个说明文档,只有双击AS6.2中ASF Explorer对应API Document
    才能跳转到网页说明,但是也不是非常详细的说明
    QQ截图20140420220733.jpg
    想想现在流行的STM等,函数库说明文档在入口参数、函数功能等方面还是非常详细的
    这点,可能ATMEL还在进一步的准备中吧,期待中。
    用ASF折腾了好几个小时,最后才把灯给点着,好多函数不会用,捉急啊。
    上代码
    1. <font size="4">#include <asf.h>

    2. #define MY_LED    IOPORT_CREATE_PIN(PORTB, 5)
    3. #define MY_BUTTON IOPORT_CREATE_PIN(PORTB, 7)
    4. #define TEST          IOPORT_CREATE_PIN(PORTB, 4)
    5.         
    6. void io_init(void)
    7. {
    8.         ioport_set_pin_dir(MY_LED, IOPORT_DIR_OUTPUT);
    9.         ioport_set_pin_dir(MY_BUTTON, IOPORT_DIR_INPUT);
    10.         ioport_set_pin_mode(MY_BUTTON, IOPORT_MODE_PULLUP);

    11. }
    12. int main (void)
    13.         {  bool value;
    14.                 sysclk_init();
    15.                 delay_init(F_CPU);
    16.                 io_init();
    17.                 while(1)
    18.                 {
    19.                         value = ioport_get_pin_level(MY_BUTTON);
    20.                         if(value)
    21.                         {
    22.                                 gpio_toggle_pin(MY_LED);
    23.                                 gpio_toggle_pin(TEST);
    24.                                 delay_ms(200);
    25.                         }
    26.                         else
    27.                         {
    28.                                 gpio_toggle_pin(MY_LED);
    29.                                 gpio_toggle_pin(TEST);
    30.                                 delay_ms(50);
    31.                         }               
    32.         }

    33. }</font>
    复制代码

    如果调用ASF,所有头文件都包含在asf.h中,看上去清爽多了。
    ASF中提供了比较不错的延时函数,如果F_CLK设置得准确
    延时相对还是比较精确的
    不过话说回来,拿单片机来实现十分精确的延时,本身就不太靠谱。
    第一次接触就到这吧,上个视频伺候一下:

    ------------------------------------------又割割割--------------------------------------------------
    总结一下,AS6.2启动速度比较慢,在老的xp笔记本上,基本上会使人抓狂
    还好它对win8 64位支持比较好,运行十分流畅,但是不知道后期会不会出现一些
    乱七八糟的问题,大家懂的。
    板油如果想在老xp上跑AS6.2,个人觉得还是比较困难
    还是想回归xp,是不是该用其它的IDE软件呢?
    板油们有没有什么好的推荐,在此谢过。

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2014-4-20 23:08:22 | 显示全部楼层
    学下下 马上也要上手了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2014-4-21 09:36:38 | 显示全部楼层
    写的很精彩耶!不光有图有真相,连视频都安放上了呢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-30 19:48
  • 签到天数: 981 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2014-4-21 10:46:15 | 显示全部楼层
    楼主写得很详细,顶一个!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2014-4-21 21:28:57 | 显示全部楼层
    官网的 Atmel Studio6.2 下载太慢了 可否共享一份?谢谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2014-4-21 23:04:14 | 显示全部楼层
    我发现原版文件时500M 百度云离线下载的只有200多
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-25 12:20
  • 签到天数: 251 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2014-4-22 22:24:55 | 显示全部楼层
    wangku001wei 发表于 2014-4-20 23:08
    学下下 马上也要上手了

    AS略坑啊,启动比较慢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-25 12:20
  • 签到天数: 251 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2014-4-22 22:25:41 | 显示全部楼层
    GY@艳 发表于 2014-4-21 09:36
    写的很精彩耶!不光有图有真相,连视频都安放上了呢!

    嘿嘿,嘿嘿。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-25 12:20
  • 签到天数: 251 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2014-4-22 22:26:44 | 显示全部楼层
    zhzhx66 发表于 2014-4-21 10:46
    楼主写得很详细,顶一个!

    谢谢帮顶。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2014-4-23 08:58:14 | 显示全部楼层
    ljj3166 发表于 2014-4-22 22:25
    嘿嘿,嘿嘿。

    继续加油哈
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-22 09:02 , Processed in 0.202830 second(s), 34 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.