我使用microchip studio我如何在main.c文件中定义F_CPU并使所有文件都"看到"?这个定义吗?
我在main.c中声明:
#include <avr/io.h>
#include "UART.h"
#define F_CPU 12000000
和在UART.c中我尝试使用这个定义:
ubrr_value = (F_CPU/(2*BAUD_RATE))-1;
i received this error:
Severity Code Description Project File Line
错误'F_CPU'未声明(在此函数中首次使用)UART_TEST XXUART_TESTUART_TESTUART.c 55
如何在main.c文件中定义F_CPU并使所有文件都"看到"这个定义吗?
你不能。
您可以在编译器命令行参数中定义F_CPU
。例如,gcc编译器接受-DF_CPU=12000000
。并使用该定义编译所有源代码。
你可以重构你的代码,把F_CPU
放到一个单独的文件中,并从所有需要它的文件中包含它。
// config.h
#deifne F_CPU 12000000
// main.c
#include "config.h"
// uart.c
#include "config.h"
...
ubrr_value = (F_CPU/(2*BAUD_RATE))-1;
...