



基于单片机c51制作简易秒表 p1是我写的头文件 p2是编译之后的问题 p34是写的c文件 不知道为什么还是没定义呢




关注引自免费微信小程序:皆我百晓生
这个问题似乎与C语言中的函数参数有关。在C51编程中,函数的参数必须通过一个指针传递到函数内部。如果你尝试将一个整数作为参数传递给display_Buf()、display_scan()和display_loop()等函数,但没有为这些函数提供参数,则会遇到错误。
为了解决这个问题,你需要确保在调用这些函数时,参数列表中的每个参数都有对应的值。例如,如果你想在display_scan()函数中接收一个数字,并将其存储在变量Number中,你应该这样做:
void display_scan(unsigned char value, unsigned char Bit)
{
unsigned char Number = value * (Bit + 1); // 这里应该将Bit转换为数值
switch(Bit)
{
case 0: Number |= 1 << 0; break;
case 1: Number |= 1 << 1; break;
...
default: break; // 如果Bit超出范围,这里可以添加相应的处理逻辑
}
}
同样地,对于其他函数,你也应该按照上述方式编写参数的赋值语句。
此外,确保所有的#define宏以及包含的文件都在编译之前被正确包含。如果某个#include指令没有正确包括,编译器可能会报错。
希望这些建议能帮助您解决问题。如果您还有其他疑问,请随时提问。