如果没有在程序本身中定义,我希望我的程序闪存编译时错误,如“LCD_PORT not defined”。为此,我像这样修改了头文件
.
.
.
#if LCD_IO_MODE
#ifndef LCD_PORT
#error LCD_PORT not defined //(e.g. #define LCD_PORT PORTA/B/C/D)
#endif
#define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */
#define LCD_DATA1_PORT LCD_PORT /**< port for 4bit data bit 1 */
.
.
.
...
但即使在定义了LCD_PORT之后(如下面的程序),它也会闪烁错误。
#include <avr/io.h>
#include <lcd.h>
#define LCD_PORT PORTA
int main(void)
{
lcd_init(LCD_DISP_ON_CURSOR);
lcd_home();
lcd_puts("Hello world!!");
}
答案 0 :(得分:1)
因为您只在之后定义了,包括头文件。你需要的是:
#define LCD_PORT PORTA
#include <lcd.h>
答案 1 :(得分:0)
您需要在包含标题之前定义它。