码:
static volatile unsigned char TMR0 @ 0x01;
static volatile unsigned char PORTA @ 0x05;
static volatile unsigned char PORTB @ 0x06;
static volatile unsigned char PORTC @ 0x07;
Run Code Online (Sandbox Code Playgroud)
此代码来自PIC16F877A的HT-PICC编译器pic.h库文件
我理解静态volatile和其他关键字的含义.这里Timer0的寄存器地址是0x01,但为什么它们@在它前面使用呢?它与指针有关吗?
我有这些错误和警告...我对编程很陌生,我不知道这意味着什么。你们能看一下这个并告诉我我做错了什么吗?
提前致谢
错误和警告:
Looplicht v2.0.c:226:警告:(361)函数声明为隐式 int Looplicht v2.0.c:237: 错误: (984) 类型重新声明 Looplicht v2.0.c:237:错误:(1098)变量“integer_reverse”的冲突声明(Looplicht v2.0.c:237)
有错误的代码(我已将错误的行号放在描述中):
void mode_single_right() {
output_integer = 0x0001; //start right
for (unsigned char i = 0; i < number_of_outputs; i++) {
if (jump) {
jump = 0;
output_integer = integer_reverse(output_integer); //line 226
switch_outputs(output_integer);
output_integer = (output_integer << 1);
} else {
i--;
}
}
}
unsigned int integer_reverse (unsigned int input_br) { //line 237
unsigned int output_br = 0;
bit bit_in_reverse = 0;
for (unsigned char ibr …Run Code Online (Sandbox Code Playgroud)