首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

NucleoF429 基础应用1: TIM1+ADC+USART 波形显示-2

NucleoF429 基础应用1: TIM1+ADC+USART 波形显示-2

三、Keil编程
用Keil打开上面生成的Project,先编译一边,无误。在STM32F4xx_it.c文件中找到TIM1ADC中断服务程序

再顺着中断找到各自的回调函数:
这是ADC转换完成的函数,在这个函数中读出ADC的值即可。void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){} 可以Copy到main.c或者其他文件中。
TIM中断中包含不同的中断类型,这里只需用到了 TIM Update event 这个类型,同样 void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc){}可以Copy到main.c或其他文件中。
在这两个中断函数中添写程序完成相应的功能。在HAL_TIM_PeriodElapsedCallback中用HAL_ADC_Start_IT(&hadc1);开启ADC中断,启动转换,转换一次后停止,等待下次启动,
转换结束后会发生ADC中断,在HAL_ADC_ConvCpltCallback中读取ADC的值,读取ADC的值做简单滤波后通过USART发送到PC(我做了个简单的IIR滤波),PC端的软件接收特定格式的数据后显示波形即可,下图是波形显示效果图。
波形显示软件和此Demo Code在附件中,通信格式在程序中,查看便知。PS:这个波形显示软件在需要实时看一些数据变化时,会比较直观,可以收藏备用。
返回列表