你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在学习官方示例工程的时候,发现 int main()里找不到 .c文件中定义的函数

[复制链接]
Ann1 提问时间:2023-5-7 23:57 / 未解决

最近在了解ST MEMS麦克风的使用,有一个Audio_playback_and_record的工程,我的目的是想了解一下处理音频数据的过程,但是发现 int main()里找不到waverecorder.c文件中定义的函数 ,而且主函数中还多了加速度传感器的内容,让我很是疑惑,小白学艺不精,请问有大佬可以回答我下吗

主程序如下

/**

  • @brief Main program
  • @param None
  • @retval None / int main(void) { / STM32F4xx HAL library initialization:
    • Configure the Flash prefetch, instruction and Data caches
    • Configure the Systick to generate an interrupt each 1 msec
    • Set NVIC Group Priority to 4
    • Global MSP (MCU Support Package) initialization */ HAL_Init();

/ Configure LED3, LED4, LED5 and LED6 / BSP_LED_Init(LED3); BSP_LED_Init(LED4); BSP_LED_Init(LED5); BSP_LED_Init(LED6);

/ Configure the system clock to 168 MHz / SystemClock_Config();

/ Initialize MEMS Accelerometer mounted on STM32F4-Discovery board / if(BSP_ACCELERO_Init() != ACCELERO_OK) { / Initialization Error / Error_Handler(); }

MemsID = BSP_ACCELERO_ReadID();

/ Turn ON LED4: start of application / BSP_LED_On(LED4);

/ Configure TIM4 Peripheral to manage LEDs lighting / TIM_LED_Config();

/ Initialize the Repeat state / RepeatState = REPEAT_ON;

/ Turn OFF all LEDs / LEDsState = LEDS_OFF;

/ Configure USER Button / BSP_PB_Init(BUTTON_KEY, BUTTON_MODE_EXTI);

/##-1- Link the USB Host disk I/O driver ##################################/ if(FATFS_LinkDriver(&USBH_Driver, USBDISKPath) == 0) { /##-2- Init Host Library ################################################/ USBH_Init(&hUSB_Host, USBH_UserProcess, 0);

/##-3- Add Supported Class ##############################################/ USBH_RegisterClass(&hUSB_Host, USBH_MSC_CLASS);

/##-4- Start Host Process ###############################################/ USBH_Start(&hUSB_Host);

/ Run Application (Blocking mode)/ while (1) { switch(AppliState) { case APPLICATION_START: MSC_Application(); break; case APPLICATION_IDLE: default: break; }

/ USBH_Background Process / USBH_Process(&hUSB_Host); } }

/ TrueStudio compilation error correction / while (1) { } }

waverecorder.c里定义的函数如下图:

image.png

收藏 评论4 发布时间:2023-5-7 23:57

举报

4个回答
老牛洋车 回答时间:2023-5-8 08:45:08

定义的函数不一定非要在主函数中直接调用的,也许是通过主函数中调用的某个函数中调用,那在主函数中就不能直接看到。

st_yujie2510 回答时间:2023-5-11 08:53:53

您是参考了ST官网上的STSW-STM32068工程吗?工程里的加速度计是用于播放的【停止】和【恢复】控制,第一次敲击——停止播放,第二次敲击——继续播放。

相关的代码可以参考应用笔记——AN3997

Ann1 回答时间:2023-5-15 19:30:27

老牛洋车 发表于 2023-5-8 08:45
定义的函数不一定非要在主函数中直接调用的,也许是通过主函数中调用的某个函数中调用,那在主函数中就 ...

[md]感谢回复

Ann1 回答时间:2023-5-15 19:30:54

st_yujie2510 发表于 2023-5-11 08:53
您是参考了ST官网上的STSW-STM32068工程吗?工程里的加速度计是用于播放的【停止】和【恢复】控制,第 ...

[md]感谢回复

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版