搜索
bottom↓
回复: 18

(教程4) LGT的头文件(原AVR代码,仅需要修改头文件就改成LGT)

[复制链接]
头像被屏蔽

出0入0汤圆

发表于 2012-4-16 10:49:56 | 显示全部楼层 |阅读模式
我之前编写的范例: (教程2).LGT编程、编译、烧录、仿真的第一个范例:流水灯,
熟悉AVR的人应该会狂喜: 下面的代码除了 #include <iolgt8f0xa.h>   这句头文件指向LGT外, 其它的所有语句,100%是与AVR相同的。
也就是说,AVR的代码,只需要修改一句头文件,就能立即应用于LGT上。

本文描述LGT的头文件及其使用方法。




LGT芯片LGT8F08A 的头文件 iolgt8f0xa.h, 只有88行。 有兴趣的网友可以细读。它的寄存器位置等与 ATmega164P 是完全一致。
  1. #ifndef __iolgt8f0xa_h
  2. #define __iolgt8f0xa_h

  3. /* GUID */
  4. #define GUID3   (*(volatile unsigned char *)0xF6)
  5. #define GUID2   (*(volatile unsigned char *)0xF5)
  6. #define GUID1   (*(volatile unsigned char *)0xF4)
  7. #define GUID0   (*(volatile unsigned char *)0xF3)

  8. /* Power Management */
  9. #define PMCR   (*(volatile unsigned char *)0xF2)
  10. #define  RC16MEN   0
  11. #define  RC1KEN      1
  12. #define  OSCMEN      2
  13. #define  CFDS      4
  14. #define  EXTMSEL   5
  15. #define  LFEN      6

  16. /* RTC */
  17. #define RTCNTH   (*(volatile unsigned char *)0xD7)
  18. #define RTCNTM   (*(volatile unsigned char *)0xD6)
  19. #define RTCNTL   (*(volatile unsigned char *)0xD5)

  20. #define RTCTOPH   (*(volatile unsigned char *)0xD4)
  21. #define RTCTOPM   (*(volatile unsigned char *)0xD3)
  22. #define RTCTOPL   (*(volatile unsigned char *)0xD2)

  23. #define RTCISR   (*(volatile unsigned char *)0xD1)
  24. #define  IEN      0
  25. #define    IF      1
  26. #define  WKUF      7

  27. #define RTCSR   (*(volatile unsigned char *)0xD0)
  28. #define  POWOFF      0
  29. #define    EN          1
  30. #define  CWEN        2
  31. #define  PWEN        3
  32. #define  LOAD        4
  33. #define  WREN      7

  34. /* ADC */
  35. #define ADTM   (*(volatile unsigned char *)0x7D)
  36. #define  ADCTM2      2
  37. #define  ADCTM1      1
  38. #define  ADCTM0      0

  39. /* Oscillator Calibration Register */
  40. //#define OSCCAL   (*(volatile unsigned char *)0x66)
  41. #define  PRESETN   6
  42. #define  OSCCAL5   5
  43. #define  OSCCAL4   4
  44. #define  OSCCAL3   3
  45. #define  OSCCAL2   2
  46. #define  OSCCAL1   1
  47. #define  OSCCAL0   0

  48. /* MCU Control */
  49. //#define MCUCR   (*(volatile unsigned char *)0x55)
  50. #define  SWDD      7

  51. /* MCU Status */
  52. #define MCUCSR   (*(volatile unsigned char *)0x54)
  53. #define  SWRF        5
  54. #define  OCDRF        4
  55. #define  JTRF      4
  56. #define  WDRF        3
  57. //#define  EXTRF       1
  58. //#define  PORF        0

  59. /* EEPROM */
  60. #define EEDRH   (*(volatile unsigned char *)0x49)

  61. //#define EECR   (*(volatile unsigned char *)0x3F)
  62. #define EEPEN      7

  63. /* GTCCR */
  64. //#define GTCCR   (*(volatile unsigned char *)0x43)
  65. #define  PSR10       0


  66. /* Interrupt Vector Numbers */
  67. #define iv_RTC          28 // for iccavr
  68. #define RTC_vect         _VECTOR(27)
  69. #define SIG_RTC_READY         _VECTOR(27)

  70. /* */

  71. #endif
复制代码



这里也提供该头文件的下载:




FOR WINAVR
1. iolgt8f0xa.h是库头文件io.h和iomxx4的补充, 它定义了LGT8F0XA所特有的寄存器和中断向量.
2. 在工程中同时包含头文件io.h和iolgt8f08xa.h就可包所有LGT8F08XA的寄存器和中断向量定义,
   (iomxx4.h在io.h中根据MCU型号自动包含).

FOR ICCAVR
1. iolgt8f0xa.h是库头文件iom164v.h的补充, 它定义了LGT8F0XA所特有的寄存器和中断向量.
2. 在工程中同时包含头文件iom164v.h和iolgt8f08a.h就可包所有LGT8F08XA的寄存器和中断向量定义.




附录:GCC 里头文件的使用方法。

GCC里的前面两句话是:

#include <io.h>                  // GCC的标准io.h
#include <iolgt8f0xa.h>          // LGT的头文件

当然,你需要先配置好GCC里的 include directories , 这个范例已经有详细描述   (教程2).LGT编程、编译、烧录、仿真的第一个范例:流水灯,

进入菜单 Project ---> Configuration Options


General 选项中,唯一需要芯片的是芯片选 ATmega164P, 这点非常重要,不要选错,因为这一款LGT芯片(LGT8F08A)的寄存器位置是与 ATMEGA164P 相同的。



检查一下(教程1)中描述的 Include Direcories 是否配置好





本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-4-16 10:56:40 | 显示全部楼层
好消息,沙发?

出0入0汤圆

发表于 2012-4-16 13:43:06 | 显示全部楼层
这要好好学下

出0入169汤圆

发表于 2012-4-16 14:11:13 | 显示全部楼层
简单找个工程试了下,直接通过编译哈哈。


(请无视那个warning)

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2012-4-16 14:19:47 | 显示全部楼层
编译器兼容的mcu,好哈。

出0入0汤圆

发表于 2012-4-16 15:27:28 | 显示全部楼层
莫大每个教程都是简明易懂,哈哈

出0入0汤圆

发表于 2012-4-16 17:39:53 | 显示全部楼层
只能说十分给力,就等着莫大的LGT上市了

出0入0汤圆

发表于 2012-4-16 17:42:47 | 显示全部楼层
不过貌似这款芯片的休眠电流有些高了,10ua,我们实验室都是用MSP430的,做的都是极端的低功耗产品

出0入0汤圆

发表于 2012-4-16 18:54:01 | 显示全部楼层
JoshuaAstray 发表于 2012-4-16 17:42
不过貌似这款芯片的休眠电流有些高了,10ua,我们实验室都是用MSP430的,做的都是极端的低功耗产品 ...

ls我虽然也是用430的,不过不管你有多少量你都不可能在这个价位上拿到吧?价格差5被,电流高5倍这没什么的!

出0入0汤圆

发表于 2012-4-16 19:01:59 | 显示全部楼层
持续关注

出0入0汤圆

发表于 2012-4-16 20:11:16 | 显示全部楼层
呵呵,在实验室做的,不会管那么多,我们实验室是国家补贴做一些智能化的农业设备捐给一些农村用的

出0入0汤圆

发表于 2012-4-19 11:56:20 | 显示全部楼层
谢谢,我已经买了工具了。可以试一下

出0入0汤圆

发表于 2012-4-20 23:56:14 | 显示全部楼层
很是诱惑 回学校搞一套来玩玩

出0入0汤圆

发表于 2012-7-25 17:46:24 | 显示全部楼层
在校的大学生有什么优惠的政策吗???

出0入0汤圆

发表于 2012-9-2 15:09:14 | 显示全部楼层
z做个记号。下次用

出0入0汤圆

发表于 2012-9-26 12:59:35 | 显示全部楼层
这个很好,正想学习
LGT

出0入213汤圆

发表于 2012-9-27 11:32:32 | 显示全部楼层
这么好的教程,怎么没有人顶呢

出0入4汤圆

发表于 2012-11-9 00:05:26 | 显示全部楼层
期待它的频率,明天到货。更期待超频,哈哈。

出0入0汤圆

发表于 2013-10-22 21:12:26 | 显示全部楼层
mark...................
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 04:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表