大家帮我看一下这个程序

[复制链接]
2582|6
 楼主| icjhp2012 发表于 2012-1-18 11:46 | 显示全部楼层 |阅读模式
#include"p18f1320.h"
#define PORTAIT(add,bit) ((unsigned)(&add)*4+(bit))

static bit PORTA_0 @PORTAIT(PORTA,0);
static bit PORTA_1 @PORTAIT(PORTA,1);
static bit PORTA_2 @PORTAIT(PORTA,2);
static bit PORTA_3 @PORTAIT(PORTA,3);

void delay();
void main( void)
{
     TRISA=0x00;
     INTCON=0x00;
LOOP:
   PORTA_0=1;
   delay();
   PORTA_1=1;
   delay();
   PORTA_2=1;
   delay();
   PORTA_3=1;
   delay();
   goto LOOP;
}

void delay()
{
     int i;
     for (i=0;i<=20000;i ++)
     continue;
}





自己初学,编个测试程序。开发板是   PICDEM 4 DEMO BOARD
上面是PIC18F1320的单片机。 用的ICD3编译器。软件 MPLAB IDE V8.5
编译后老出现这条错误E:\WORKSHOP\microchip\LED.c:8:Error: syntax error
双击它定位到上面程序中德红色字部分。不知怎么纠错。请大家帮帮忙。
程序就是让RA0 到RA3 逐个点亮.
C编译器用的是
Executing: "C:\MCC18\bin\mcc18.exe"


求高手帮忙啊!!!!!帮我纠错
forgot 发表于 2012-1-18 12:36 | 显示全部楼层
语法错误,你那位定义有问题
PIC单片机具体的我也不太清楚
纯金属 发表于 2012-1-18 15:24 | 显示全部楼层
我记得picc编译器用的寄存器类似
TRISG0 标号的
 楼主| icjhp2012 发表于 2012-1-18 15:25 | 显示全部楼层
谢谢2楼!
语法错误我是知道的。我照搬的16系列实例程序上关于port  A 上位来定义的。不知道为何说这句话错误,难道16 18系列的隔阂很大,不兼容?
有哪位高手平时用18系列的用的多啊,来指正一下
 楼主| icjhp2012 发表于 2012-1-18 17:20 | 显示全部楼层
Ryanhsiung 发表于 2012-1-18 17:32 | 显示全部楼层
自己初学,编个测试程序。开发板是   PICDEM 4 DEMO BOARD上面是PIC18F1320的单片机。 用的ICD3编译器。软件 MPLAB IDE V8.5编译后老出现这条错误E:\WORKSHOP\microchip\LED.c:8:Error: syntax error双击它定位到上面程序中德红色字部分。不知怎么纠错。请大家帮帮忙。程序就是让RA0 到RA3 逐个点亮.C编译器用的是Executing: "C:\MCC18\bin\mcc18.exe"
用的ICD3 是调试仿真器,我也不知道你用的是C18还是PICC编译器
若是C18则不支持BIT定义
 楼主| icjhp2012 发表于 2012-1-19 09:58 | 显示全部楼层
问了些人,了解的C编译主流是HI-TEC 的PIC C18 和MCC的C18.用的多的据说是前者,因为更接近于标准C,但没正版要用**版。
所以准备装个HI-TEC 的C18 看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

19

帖子

0

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