#include "bl_mcu_sdk.h"#include "bl_gpio.h"#include "bl_adc.h"#include "bl_uart.h"#include "bl_delay.h"#define PRESS_MIN 20#define PRESS_MAX 6000#define VOLTAGE_MIN 150#define VOLTAGE_MAX 3300long map(long x, long in_min, long in_max, long out_min, long out_max);int main(void){ // 初始化延时函数 bl_delay_init(); // 初始化串口 bl_uart_init(0, 9600, UART_BITWIDTH_8BIT, UART_STOP_BIT_1, UART_PARITY_DISABLE); // 初始化ADC bl_adc_init(ADC_CLK_DIV_2, ADC_RESOLUTION_12BIT, ADC_SCALE_4096, ADC_INPUT_MODE_SINGLE, ADC_ATVCC); bl_delay_ms(1000); bl_uart_printf("Test start\n"); while(1) { // 获取ADC采样值 uint16_t value_AD = bl_adc_single_get_value(ADC_0, ADC_CHANNEL_1); // 转换为电压值 int VOLTAGE_AO = map(value_AD, 0, 4095, 0, 3300); if(VOLTAGE_AO < VOLTAGE_MIN) { PRESS_AO = 0; } else if(VOLTAGE_AO > VOLTAGE_MAX) { PRESS_AO = PRESS_MAX; } else { // 根据电压值计算压力值 PRESS_AO = map(VOLTAGE_AO, VOLTAGE_MIN, VOLTAGE_MAX, PRESS_MIN, PRESS_MAX); } // 输出结果 bl_uart_printf("AD value = %d, voltage = %d mV, pressure = %ld g\n", value_AD, VOLTAGE_AO, PRESS_AO); // 延时500ms bl_delay_ms(500); }}long map(long x, long in_min, long in_max, long out_min, long out_max){ return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;}出现以下报错怎么修改并给出完整代码bflb_delay.h: No such file or directory
时间: 2023-06-19 17:03:50 浏览: 204
这个错误提示是找不到 bflb_delay.h 文件。你需要确认该文件是否存在,如果不存在需要下载并添加到工程中。
同时,还需要确保你的工程中已经添加了相关的头文件和库文件。以下是一个完整的示例代码,你可以参考一下:
```
#include "bl_mcu_sdk.h"
#include "bl_gpio.h"
#include "bl_adc.h"
#include "bl_uart.h"
#include "bl_delay.h"
#define PRESS_MIN 20
#define PRESS_MAX 6000
#define VOLTAGE_MIN 150
#define VOLTAGE_MAX 3300
long map(long x, long in_min, long in_max, long out_min, long out_max);
int main(void)
{
// 初始化延时函数
bl_delay_init();
// 初始化串口
bl_uart_init(0, 9600, UART_BITWIDTH_8BIT, UART_STOP_BIT_1, UART_PARITY_DISABLE);
// 初始化ADC
bl_adc_init(ADC_CLK_DIV_2, ADC_RESOLUTION_12BIT, ADC_SCALE_4096, ADC_INPUT_MODE_SINGLE, ADC_ATVCC);
bl_delay_ms(1000);
bl_uart_printf("Test start\n");
while(1)
{
// 获取ADC采样值
uint16_t value_AD = bl_adc_single_get_value(ADC_0, ADC_CHANNEL_1);
// 转换为电压值
int VOLTAGE_AO = map(value_AD, 0, 4095, 0, 3300);
if(VOLTAGE_AO < VOLTAGE_MIN)
{
PRESS_AO = 0;
}
else if(VOLTAGE_AO > VOLTAGE_MAX)
{
PRESS_AO = PRESS_MAX;
}
else
{
// 根据电压值计算压力值
PRESS_AO = map(VOLTAGE_AO, VOLTAGE_MIN, VOLTAGE_MAX, PRESS_MIN, PRESS_MAX);
}
// 输出结果
bl_uart_printf("AD value = %d, voltage = %d mV, pressure = %ld g\n", value_AD, VOLTAGE_AO, PRESS_AO);
// 延时500ms
bl_delay_ms(500);
}
}
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
```
在添加文件时,你可以在工程目录下添加 `bflb_delay.h` 文件,并在 `main.c` 中添加以下代码:
```
#include "bflb_delay.h"
```
这样就可以避免找不到文件的问题了。
阅读全文