Board logo

标题: NucleoF429 基础应用1: TIM1+ADC+USART 波形显示-2 [打印本页]

作者: look_w    时间: 2018-1-24 20:34     标题: 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:这个波形显示软件在需要实时看一些数据变化时,会比较直观,可以收藏备用。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0