【发布时间】:2011-10-07 12:57:35
【问题描述】:
我声明了这些全局变量:
volatile unsigned char BUFFER[7]={0,0,0,0,0,0,0};//to get all data
volatile unsigned char *PTR=&BUFFER[0];//points to start address
在 Microchip PIC 中断函数内部,指针读取 UART 寄存器并根据我的代码将其引用到 BUFFER[] 数组:
*PTR=rcreg;
PTR++;
然后我检查函数 main() 中的数据:
for(i=0;i<3;i++){
if(BUFFER[i]==DATA[i]){
k++;
if(k==2){LED_On();}
}
}
并设置ptr指向BUFFER[]的起始地址
ptr=BUFFER;
问题:这是读取寄存器中数据的最佳方式和正确方式吗?如何在中断函数中使用指针?
提前感谢您的关注和帮助!
【问题讨论】:
-
请努力正确地格式化代码。将单行
for...if...if...倾倒在人们身上是没有办法寻求帮助的。