打印

PIC 特殊寄存器及特殊位在哪定义的?

[复制链接]
4859|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
isbit|  楼主 | 2010-3-13 11:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MPLAB IDE

TRISA=0X01;      //ÉèÖÃRA0ΪÊäÈ룬ÆäËûΪÊä³ö   
ADCON0=0X01;     //Ñ¡ÔñRA0ͨµÀ£¬ÔÊÐíADC¹¤×÷
ADCON1=0X07;     //RA0×öÄ£ÄâÊäÈë¿Ú£¬ÆäËü×öÆÕͨI/O
ADCON2=0X21;     //ת»»½á¹û×ó¶ÔÆ룬6TAD,Fosc/8

我用source insight 看,项目文件,都是虚的,不爽;
还有 某一位是怎么设定,编译器好像不认啊2

寄存器 21-1: ADCON0:A/D 控制寄存器0
U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
— — CHS3 CHS2 CHS1 CHS0 GO/DONE ADON
bit 7                                                     bit 0


像ADON 程序应该怎么写呢?51就可以直接写,pic 编译器不认,晕!
GO/DONE 更不知怎么写;


谢谢指点!
沙发
XIEYUANBIN| | 2010-3-13 15:43 | 只看该作者
MPLAB安装目录下有 某芯片的INC文件,打开看就是了。

使用特权

评论回复
板凳
yewuyi| | 2010-3-13 15:53 | 只看该作者
在INC文件中,没有定义或者定义的名字和你写的名字不一致当然就不认识了。

呵呵,这就和你家长给你起名一样,没给起名字的当然就找不到你了,即使给你起名字了,但喊的是别人的名字,当然也找不到你了。

使用特权

评论回复
地板
isbit|  楼主 | 2010-3-15 09:51 | 只看该作者
extern volatile near unsigned char       ADCON0;
extern volatile near union {
  struct {
    unsigned ADON:1;
    unsigned GO_DONE:1;
    unsigned CHS0:1;
    unsigned CHS1:1;
    unsigned CHS2:1;
    unsigned CHS3:1;
  };
  struct {
    unsigned :1;
    unsigned DONE:1;
  };
  struct {
    unsigned :1;
    unsigned GO:1;
  };
  struct {
    unsigned :1;
    unsigned NOT_DONE:1;
  };
} ADCON0bits;

这个定义什么意思呢?,主要后面三个struct看不太懂;

使用特权

评论回复
5
isbit|  楼主 | 2010-3-15 09:53 | 只看该作者
是不是bit1  可以是GO,也可以是DONE ,也可以是NOT_DONE,三种表示方法都可以呢?

使用特权

评论回复
6
headwolf_83| | 2010-3-19 11:35 | 只看该作者
是的。这些东西,尽量查头文件。编译器版本如果变了,甚至有可能名字也变.

使用特权

评论回复
7
hugo0chen| | 2014-3-13 09:36 | 只看该作者

使用特权

评论回复
8
chen_fei| | 2014-3-17 16:47 | 只看该作者
那个是结构体

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

194

主题

959

帖子

1

粉丝