[Cortex-M0技术交流] 【第四批】第三帖 道可道的入门

[复制链接]
2832|3
 楼主| xyz549040622 发表于 2011-11-24 15:54 | 显示全部楼层 |阅读模式
gp, IO, AC, GPIO, LED
本帖最后由 xyz549040622 于 2011-11-24 19:42 编辑

经过几天的努力,终于掌握了M0的入门了,比起群里面好多人来说,落后的不是一点半点,但是俺还是要说,俺终于点亮LED啦。闲话少说,以下是我的一点感受。

1.工程文件的建立

看过N多帖子后,终于熟练的掌握工程的建立了,这里介绍傻瓜式的教程,即你不用配置任何选项,在神农老师(好像是他吧)的模板里直接修给即可,各种配置已设置完毕。
     对于菜鸟来说,你所需要的就是用keil打开模板中User文件夹中的这个文件修改即可。

然后在打开的页面中书写你的代码即可,当你用到其他功能模块的时候,你可在 library files中添加所需要的.c文件,比如AD或者USB,.c文件在你下载的模板路径中寻找【以我的电脑为例   D:\学习\嵌入式\新塘M0\程序\NUC 模板\BSP_Lib\Src\Driver】


2.写程序所准备的工作
当你写程序的时候,你会发现M0和51相比,需要用到的寄存器和驱动太多了,你不可能都记住,所以数据手册是必不可少的,具体到【菜农助学活动】资料汇总与更新 https://bbs.21ic.com/icview-225655-1-1.html 下载
3.简单LED循环闪烁程序【和51中点亮LED类似】
  1. /*---------------------------------------------------------------------------------------------------------*/
  2. /*                                                                                                         */
  3. /* Copyright(c) 2009 Nuvoton Technology Corp. All rights reserved.                                         */
  4. /*                                                                                                         */
  5. /*---------------------------------------------------------------------------------------------------------*/
  6. #include <stdio.h>
  7. #include "NUC1xx.h"
  8. #include "DrvGPIO.h"
  9. #include "DrvSYS.h"


  10. /*---------------------------------------------------------------------------------------------------------*/
  11. /* MAIN function                                                                                          */
  12. /*---------------------------------------------------------------------------------------------------------*/   

  13. int main (void)
  14. {
  15.         while(1)                                                                                                         
  16.         {
  17.                 DrvGPIO_ClrBit(E_GPA, 2);                                                                 //  LED1点亮
  18.             DrvSYS_Delay(50000);
  19.                 DrvGPIO_SetBit(E_GPA, 2);
  20.                 DrvGPIO_ClrBit(E_GPA, 3);                                                                 //  LED2点亮
  21.             DrvSYS_Delay(50000);
  22.                 DrvGPIO_SetBit(E_GPA, 3);
  23.                 DrvGPIO_ClrBit(E_GPA, 4);                                                                 //  LED3点亮
  24.                                                                                  //  LED4点亮
  25.                 DrvSYS_Delay(50000);
  26.                 DrvGPIO_SetBit(E_GPA, 4);
  27.             DrvGPIO_ClrBit(E_GPA, 5);
  28.             DrvSYS_Delay(50000);
  29.                 DrvGPIO_SetBit(E_GPA, 5);
  30.         }
  31. }

然后编译,下载到板子即可【三个编译键,初学者只按第二个即可

经过测试,俺居然发现,我的LED4不闪烁,初步估计,是LED虚焊,待会重新检测

4.遇到的问题
例程中的好多语句看不懂,比如     SYSCLK->;PWRCON.XTL12M_EN = 1;    这是什么意思,查资料的时候说是寄存器操作,可是找不到
PWRCON是什么寄存器【求指教,寄存器操作的资料和一点点拨】下来得加强C语言的学习,因为好多用到指针
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.png

本帖子中包含更多资源

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

×
hotpower 发表于 2011-11-24 19:12 | 显示全部楼层
入门就好~~~
可以参加选美了
 楼主| xyz549040622 发表于 2011-11-24 19:26 | 显示全部楼层
:lol要继续努力
308141883 发表于 2012-5-30 19:58 | 显示全部楼层
兄弟加油!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←

2841

主题

19330

帖子

110

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