我试图在MikroC中为PIC16F882单片机编写一个自定义延迟函数。
我想继续检查一个特定的针的MCU,看看它是否改变了,整个延迟功能。
但问题是,我不能将引脚作为参数传递给函数。还有其他方法可以做到吗?
标志的目的是确定延迟的时间。在Timer0溢出后,它将自动转到0。我并没有在代码中加入这个部分来使事情变得更容易理解。
我的职责是:
int flag = 0;
void delay(bit pin_to_check){
while(flag == 1){
if(flag == 0 || pin_to_check == 0) {
break;
}
}
}
void main(){
flag = 1;
delay(RA3_bit);
}我得到的编译时错误是:
Parameter 'pin_to_check' must not be of bit or sbit type发布于 2016-09-02 14:33:47
由于不能将bit或sbit作为参数传递,所以可以:
案例3在这条线中进行了解释,其内容类似于:
void delay(unsigned char *PORT, unsigned char bitNo) {
unsigned char bitMask = 0x01 << bitNo;
while (flag == 1 && ((*PORT) & bitMask) != 0)
{ }
}
// delay until bit 3 is set
delay(&PORTA, 3)发布于 2016-09-02 12:18:00
看看bits.htm#bit
它说bit不能用于参数列表。你需要把注册名传递进去。
https://stackoverflow.com/questions/39292078
复制相似问题