以前一直使用keil写51现在有段代码要移植到PIC上,出现了一个问题,我把keil中定义在CODE区的如
code uchar Stp_Tab[8]= { 0x08,0x0a,0x02,0x6,0x04,0x5,0x01,0x09} ;
该成const uichar Stp_Tab[8]= { 0x08,0x0a,0x02,0x6,0x04,0x5,0x01,0x09} ;
picc 编译是通过了,但是我在引用的s时候:
void Stp_Run (uint16 speed , uint8 mode)
{
uint8 i = 0;
if (mode ==CW)
{
for(i= 0; i < 8 ;i ++)
{
PORTA = Stp_Tab;
}
}
}
这段代码却警告有错误出现:
Error [1268] E:\hand\source\stepper.c; 41. fixup overflow storing 0x106 in 1 byte at 0x24E (PIC16F57.obj 38/0x2C)
Error [1268] E:\hand\source\stepper.c; 22. fixup overflow storing 0x106 in 1 byte at 0x200 (PIC16F57.rlf 180/0x0)
我不知道这个是什么原因,我在keil中一直是可以这样 查询CODE区的常数的啊,
这个是这几天学习PIC 单片机过程中发现的问题,现在已经解决。
是PICC编译器出了我问题,现在用的是MPLAB V8.30 PICC 8.05 环境下编写程序
另外还发现 在抵挡的PIC中 如PIC16F57居然没有中断,没中断当然就没中断溢出标志位了,
这就就不知道他的定时器要怎么用了,